Skip to content

Ecommerce RESTful API project! This is an open-source, scalable, and modular ecommerce backend built with Rust.

Notifications You must be signed in to change notification settings

tahadostifam/EcommerceRS

Repository files navigation

Ecommerce RESTful API in Rust

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.


Features

  • 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.

Tech Stack

  • Language: Rust
  • Web Framework: Actix Web
  • Database: PostgreSQL (with diesel as ORM) + Redis
  • Authentication: RefreshToken & Google OAuth2
  • Serialization: Serde
  • Validation: Validator crate
  • Testing: Cargo test, integration tests
  • Containerization: Docker

Getting Started

Installation

  1. Clone the repository:
   git clone https://github.com/tahadostifam/EcommerceRS.git
   cd EcommerceRS
  1. ** Setup Development Environment
docker-compose -f ./docker-compose.devel.yml up -d postgres redis
make migrate-dev
  1. ** Bootstrap RESTAPI
cargo run -p restapi

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

If you have any questions or suggestions, feel free to reach out:

About

Ecommerce RESTful API project! This is an open-source, scalable, and modular ecommerce backend built with Rust.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published