Sofa-Shop

Key Features:

  1. Product Management:

  • Endpoints to create, read, update, and delete sofa products.

  • Each product includes details like name, price, description, and stock availability.

   2. User Authentication:

  • Secure user registration and login using JWT (JSON Web Tokens).

  • Protects sensitive routes, ensuring only authenticated users can perform certain actions.

   3. Order Management:

  • Allows users to place orders, view their order history, and manage their carts.

  • Includes functionality for processing payments and managing order statuses.

   4. Payment and Communication:

  • Stripe: Integrated for secure payment processing, allowing users to complete transactions effortlessly.

  • Twilio: Used for sending SMS notifications to users for updates like order confirmations and shipment tracking.

  • SendGrid: Integrated for sending transactional emails, including order confirmations and account-related notifications.

     

Technologies Used:

  • Node.js: The core runtime environment for building the server-side application.

  • Express.js: Framework for creating robust RESTful APIs, handling routing, and middleware.

  • MongoDB: NoSQL database used for storing product information, user data, and orders.

  • JWT: Used for secure user authentication and authorization.

  • Mongoose: An ODM (Object Data Modeling) library for MongoDB, simplifying database interactions.

  • Docker: Containerization for seamless deployment and consistency across environments.

  • Linux (Raspberry Pi): Deployed on a Raspberry Pi running Linux, providing a lightweight and energy-efficient server environment.

     

API Testing:

  • Used tools like Postman to test various API endpoints (e.g., CRUD operations for products, user authentication, and order management).