Administrative backend for an e-commerce system with multi-company support (whitelabel).
-
Authentication
- JWT Login
- Google Authentication
- Session Management
- Password Recovery
-
Users
- User CRUD
- Profile and Permission Management
- Data Validation
-
Customers
- Customer Registration and Management
- Purchase History
- Contact and Address Information
-
Products
- Product Registration
- Categorization
- Stock Management
- Pricing and Promotions
-
Orders
- Order Creation and Tracking
- Order Status
- Transaction History
-
Promotions
- Coupon Creation
- Special Discounts
- Promotion Rules
-
Shipping
- Shipping Calculation
- Carrier Integration
- Delivery Rules
-
Company
- Company Settings
- Registration Data
- Customization
-
File Storage
- Image Upload
- AWS S3 Integration
- Media Management
-
Email
- Transactional Email Sending
- Customizable Templates
- Automatic Notifications
- Node.js 16+
- TypeScript
- Express.js
- TypeORM
- PostgreSQL
- AWS S3
- JWT
- Docker
- Node.js 16+
- Docker and Docker Compose
- PostgreSQL
- AWS S3 (for file storage)
- Clone the repository
git clone [repository-url]- Install dependencies
yarn install- Configure environment variables
cp .env.example .envEdit the .env file with your configurations
- Run database migrations
yarn migration:run- Start the server
yarn devThe project includes Docker configuration for development:
docker-compose upyarn dev: Starts the server in development modeyarn test: Runs testsyarn build: Compiles the project for productionyarn start: Starts the server in productionyarn migration:create: Creates a new migrationyarn migration:run: Runs pending migrationsyarn migration:down: Reverts the last migration
The API uses JWT for authentication. To access protected endpoints, include the token in the header:
Authorization: Bearer your-jwt-token
Complete API documentation is available at [API-DOCUMENTATION-URL]
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License. See the LICENSE file for details.