hngprojects / hng_boilerplate_nestjs

Description
Apache License 2.0
181 stars 105 forks source link

[FEAT]: Implement Backend API for Squeeze Page - Backend #80

Closed Fifetoyi closed 1 week ago

Fifetoyi commented 1 month ago

Description:

Develop the API endpoint for the Squeeze Page.

Purpose:

Provides a backend service that allows us collect the user email, store in the database and send a template to the user.

Requirements:

Acceptance Criteria:

Squeeze Form Submission:

Testing:

Expected Outcome:

A secure and efficient API endpoint that can receive user email, store it in the database, and confirm the user's request. The API endpoint allows users to submit a request via the "Squeeze" form, and ensures the template is sent to the appropriate email address.

Labels

feature

markessien commented 1 month ago

These are multiple tickets, split them up as separate tickets

markessien commented 1 month ago

A squeeze page gather far more than the users email

Fifetoyi commented 1 month ago

I have updated the endpoint. The figma file previously only had provision for email @markessien

devffery commented 1 month ago

@buka4rill

markessien commented 1 month ago

Not enough

coderoyalty commented 1 month ago

@markessien what else could a squeeze page gather?

coderoyalty commented 1 month ago

@Fifetoyi

Here's an example:

{
  "email": "user@example.com",
  "first_name": "John",
  "last_name": "Doe",
  "phone": "123-456-7890",
  "location": "Lagos, Nigeria",
  "job_title": "Software Engineer",
  "company": "X-Corp",
  "interests": ["Web Development", "Cloud Computing"],
  "referral_source": "LinkedIn"
}

This should be enough

Fifetoyi commented 1 month ago

Added more details for the squeeze page @markessien

Fifetoyi commented 1 month ago

Can we get a second approval on this please? @buka4rill

Shullyd7 commented 1 month ago

Add versioning to your endpoints and maintain the snake case

Fifetoyi commented 1 month ago

versioning and snake case implemented @Shullyd7

mjoghenemaega commented 1 month ago

@coderoyalty and @Fifetoyi the comment mark made above "These are multiple tickets, split them up as separate tickets" .... did you guys initially add a get or put request .... if yes .. hope i am free to create another ticket for get ?