GitHub - shrouqshaker/Brandora-App: E-commerce backend for products, orders and users | Node.js, Express, MongoDB, Firebase authentication and Swagger · GitHub
Skip to content

About

E-commerce backend for products, orders and users | Node.js, Express, MongoDB, Firebase authentication and Swagger

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

53 Commits

Folders and files

Repository files navigation

Brandora Backend API

This is the backend for the Brandora e-commerce platform. It provides RESTful APIs for managing products, materials, orders, and users. Built with Node.js, Express, and MongoDB.

Features

  • Firebase JWT Authentication
  • Role-based access control (Seller and Customer)
  • Order management with automatic stock deduction
  • Product and material CRUD operations
  • Swagger UI for API documentation
  • MongoDB aggregation for seller analytics
  • Image uploads via Multer

Getting Started

1. Install Dependencies

cd backend_engine
npm install

2. Environment Setup

Create a .env file in the backend_engine directory based on .env.example. You will need a MongoDB URI and a Firebase serviceAccountKey.json file.

3. Seed Database

You can easily populate the database with test data (users, products, orders):

npm run seed

4. Run the Server

npm run dev

The server will start on port 8080.

Documentation

Once the server is running, open your browser and navigate to: http://localhost:8080/api-docs Here you can test all the endpoints.

Tech Stack

  • Node.js & Express
  • MongoDB & Mongoose
  • Firebase Admin SDK
  • Joi (Validation)
  • Helmet & Express Rate Limit (Security)

About

E-commerce backend for products, orders and users | Node.js, Express, MongoDB, Firebase authentication and Swagger

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages