An open API service indexing awesome lists of open source software.

https://github.com/rk28284/edgistify

This project provides a simple API to manage a user's shopping cart. It allows adding products to the cart, checking stock availability, placing orders, and ensuring proper user authentication with JWT tokens.
https://github.com/rk28284/edgistify

angualrjs bcrypt bootstrap5 exprerss html-css-javascript jwt-authentication mongodb nodejs typescript

Last synced: 8 days ago
JSON representation

This project provides a simple API to manage a user's shopping cart. It allows adding products to the cart, checking stock availability, placing orders, and ensuring proper user authentication with JWT tokens.

Awesome Lists containing this project

README

        

Cart Management API

Introduction


This project provides a simple API to manage a user's shopping cart. It allows adding products to the cart, checking stock availability, placing orders, and ensuring proper user authentication with JWT tokens.

Project Type


Fullstack Project

Deployed App


Directory Structure



edgistify/
├─ server/
├─ client/

Features



  • User registration and login

  • Add products to the cart

  • Check stock availability before adding to the cart

  • Place orders

  • Get all products and fetch individual products by ID

  • JWT-based user authentication

  • Form validation applied for user registration and login

Design Decisions and Assumptions



  • JWT is used for authentication to secure user actions.

  • Stock availability is checked before adding items to the cart.

  • Products are stored in a MongoDB database.

Installation & Getting Started


Follow these steps to install and get the project running:



cd client
npm install
npm start

Usage


Provide instructions and examples on how to use your project:



# Example usage
npm run start

Credentials


Provide user credentials for authenticated pages:


Email: [email protected]
Password: 12345678

APIs Used


No external APIs were used in this project.

API Endpoints


List of API endpoints:


User Routes




  • POST /register - Register a new user


  • POST /login - Login a user

Cart Routes




  • POST /add-to-cart - Add a product to the user's cart (requires authentication)

Order Routes




  • POST /place - Place an order (requires authentication)

Product Routes




  • GET /product - Get all products


  • GET /product/:id - Get a single product by its ID


  • POST /product/add - Add a new product

Technology Stack




  • Frontend: Angular 15, Bootstrap 5, TypeScript, HTML, CSS, JavaScript


  • Backend: Node.js, Express.js


  • Database: MongoDB


  • Authentication: JWT

  • Other libraries/modules: dotenv, mongoose, jsonwebtoken

License


This project is licensed under the MIT License.