Welcome to the Ecommerce RESTful API project! This is an open-source, scalable, and modular ecommerce backend built with Rust. The goal of this project is to provide a high-performance, secure, and easy-to-extend foundation for building ecommerce applications. Whether you're a developer looking to contribute or someone building an ecommerce platform, this project is designed to grow and improve over time.
- RESTful API: Fully compliant with REST principles for easy integration with frontend applications.
- Modular Architecture: Follows Hexagonal Architecture (Ports and Adapters) for clean separation of concerns.
- Authentication & Authorization: Secure Refresh Token Authentication and role-based access control.
- Product Management: Create, read, update, and delete products with categories and inventory tracking.
- User Management: User registration, login, and profile management.
- Search & Filtering: Advanced search and filtering for products.
- Docker Support: Easy deployment with Docker.
- Order Management: Handle orders, payments, and shipping status.
- Pagination: Efficient handling of large datasets with pagination.
- Language: Rust
- Web Framework: Actix Web
- Database: PostgreSQL (with
dieselas ORM) + Redis - Authentication: RefreshToken & Google OAuth2
- Serialization: Serde
- Validation: Validator crate
- Testing: Cargo test, integration tests
- Containerization: Docker
- Clone the repository:
git clone https://github.com/tahadostifam/EcommerceRS.git
cd EcommerceRS- ** Setup Development Environment
docker-compose -f ./docker-compose.devel.yml up -d postgres redis
make migrate-dev- ** Bootstrap RESTAPI
cargo run -p restapiThis project is licensed under the MIT License. See the LICENSE file for details.
If you have any questions or suggestions, feel free to reach out:
- Email: [email protected]
- Github Issues Create Issue