The backend of this e-commerce platform is built with Express.js, leveraging a robust set of modern technologies to ensure scalability, security, and performance. It provides a RESTful API for managing authentication, products, orders, and payments while integrating essential tools for cloud storage and email services.
- Authentication: Secure user login, registration, and session management with JWT.
- Product Management: CRUD operations for products, including image uploads using Cloudinary.
- Order Management: Endpoints for managing carts, orders, and payments.
- Email Notifications: Integration with Nodemailer for sending transactional emails.
- Payment Gateway Integration: Seamless payment processing.
- Validation: Data validation using Zod.
- Database Management: Prisma ORM for interacting with a relational database.
-
Authentication:
- User registration and login.
- Secure JWT token generation and management.
- Password hashing with bcrypt.
-
Product Management:
- Add, edit, delete, and fetch product details.
- Cloud-based image storage using Cloudinary.
-
Order and Cart Management:
- Manage user carts and orders.
- Update order status and retrieve order history.
-
Payment Processing:
- Handle payments via integrated payment gateways.
- Verify and record transaction details.
-
Email Services:
- Send order confirmation and account-related emails.
-
General Utilities:
- Middleware for error handling and status management.
- Cookie-based user session support.
- Runtime: Node.js
- Framework: Express.js
- Database: Prisma with a relational database
- Authentication: JWT and bcrypt
- Image Storage: Cloudinary
- Email Service: Nodemailer
- Validation: Zod
- Utility Libraries: Axios, Multer, and Http-Status
- Dev Tools: TypeScript, TSX, and Nodemon
- API: hekto-server.vercel.app
- Frontend Application: hekto-1a747.web.app