A REST API used for the Furniro e-commerce app,designed to handle all server-side logic and database interactions for a furniture store application.
User authentication with Token-Based Authentication with JWT and a refresh token
Products CRUD Operations: Full Create, Read, Update, and Delete (CRUD) capabilities for managing the product inventory, With that Image Management Supports uploading, storing, and retrieving product images, ensuring that visual data is managed effectively.
Order Creation and Tracking that Enables customers to place orders, view order details, and track order status from processing to delivery.
-
Data Validation and Sanitization: Validates and cleans input data to prevent SQL injection, XSS, and other vulnerabilities.
-
Password Security: Uses bcrypt to hash passwords, ensuring they are stored securely.
-
Rate Limiting and Throttling: Limits the number of client requests to prevent usage abuse.
-
Error Handling and Logging: Provides robust error handling with minimal error messages.
- Node js
- Nest js with Express js platform
- TypeScript
- MongoDB
- Mongoose
- Zod
- Cloudinary
- Handlebars
- Multer
- Nodemailer
- Clone the repository:
git clone https://github.com/Abdalrhman-Almarakeby/furniro-backend.git
- Navigate to the project directory:
cd furniro-backend
- Install dependencies:
npm install
-
Create .env file with the essential data (Like the .env.example) in the root of the project.
-
Start the local development server:
npm run dev
Github: Abdalrhman Almarakeby
Linkedin :Abdalrhman Almarakeby
Email: almarakeby.work@gmail.com