Skip to content

Shoppy is an e-commerce website that sell all type of products this repo is the back-end part

Notifications You must be signed in to change notification settings

abdullahriad-alghamdi/Shoppy-backEnd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Library/E-commerce Application API

This repository contains a Node.js/Express.js application with RESTful API endpoints for a library or e-commerce application. The API allows you to interact with items in the library or products in the store.

This is a teamwork assignment where you will work as a team within your group

How to work

  1. One team member should fork the repo.
  2. The other team members should clone the forked repo (your team member's forked repo).
  3. All team members now work from the origin repository.
  4. The member who forked the repo should open a PR

Please ask your instructor or supporting instructor if you have any questions or need help.

Level 1: Basic Requirements

In this level, the application includes the following features:

  1. Create all the needed models for the backend to function.
  2. Create routes to handle CRUD requests.
  3. Implement a route to handle GET requests for fetching a specific item or product based on a unique identifier (e.g., item ID or product ID).

Level 2: Additional Requirements

In addition to the basic requirements, the application enhances its functionality with the following features:

  1. Include pagination functionality to retrieve items or products in batches or limit the number of items returned in a single request.
  2. Implement a route to handle GET requests with query parameters for filtering items or products based on specific criteria (e.g., by category, price range).
  3. Add validation checks to ensure the data meets certain criteria before performing create or update operations (e.g., validating required fields, data format) using Zod.
  4. Create routes to handle GET requests to fetch items or products sorted in a specific order (e.g., by title, by date added).

Level 3: Bonus Requirements (Optional)

If you have a higher skill level and finish the previous requirements before the deadline, you can tackle the following bonus tasks:

  1. Implement search functionality to allow users to search for specific items or products based on keywords or specific fields (e.g., by title, by author).

  2. Integrate JWT authentication and authorization mechanisms to secure the API endpoints and restrict access to certain routes or operations.

  3. Add functionality to handle related resources (e.g., for a library, add routes to handle borrowing or returning books; for an e-commerce store, add routes for placing an order).

  4. Peer Review:

    • Review the code and implementation of 2 assignments from other participants.
    • Provide constructive feedback and suggestions for improvement.

Please note that the bonus requirements and reviews are optional and can be completed if you have additional time and advanced skills.

Happy coding!