You have been hired by a local restaurant to develop a simplified backend system for managing their online menu. The restaurant needs the following functionality:
-
Add new menu items to their database.
-
Each menu item should have a name, description, price.
-
The staff should be able to retrieve a list of every item currently in the menu database.
Basic express template was given
You need to install all the necessary packages required for the task.
- name (String, required)
- description (String)
- price (Number, required)
- Create a MongoDB Atlas account and set up a free cluster. Use Mongoose to connect your Express server to the MongoDB Atlas cluster.
- POST /menu: Creates a new menu item in the database.
- Accepts the required fields in the request body.
- Responds with a success message and the newly created object (or an error message if something goes wrong). GET /menu: Fetches the entire list of menu items. Responds with an array of MenuItem objects (or an error message if something goes wrong).
POST /menu: Creates a new menu item in the database.
- Accepts the required fields in the request body.
- Responds with a success message and the newly created object (or an error message if something goes wrong).
GET /menu: Fetches the entire list of menu items.
- Responds with an array of
MenuItemobjects (or an error message if something goes wrong).
- Implement basic validation in Mongoose or in the request-handling logic (e.g., required fields).
- Return a descriptive error message if the required data is missing or incorrect.
- You will be provided with a StackBlitz link for the assignment.
- Open the link in your browser and click on the Fork button in StackBlitz.
This will create a copy of the repository in your StackBlitz account.
- After forking, you can download the project or push it directly to your personal GitHub repository:
- Option 1: Download and Push
- Download the repository files from StackBlitz.
- Open your terminal/command prompt, navigate to the project folder, and run:
Replace
git init git remote add origin <your_github_repo_url>
<your_github_repo_url>with your personal GitHub repository URL. - Commit and push the files to your GitHub repository:
git add . git commit -m "Completed the assignment" git push -u origin main
- Option 2: Push Directly
- Use the Push to GitHub option in StackBlitz to directly connect and push the repository to your GitHub account.
- Option 1: Download and Push
- Once your code is successfully pushed to GitHub:
- Copy the link to your GitHub repository.
- Submit the link on the assignment submission portal.
The link should follow this format:
https://github.com/<your_username>/<repository_name>
If your GitHub username is johnDoe and the repository name is assignment-repo, the submission link would look like this:
https://github.com/johnDoe/assignment-repo