Skip to content

MesBaX is an e-commerce platform designed for medium and large businesses, providing comprehensive solutions. Using Clean Architecture, CQRS, .NET Core 6, Angular 16 and SQL Server/Oracle. MesBaX ensures high performance, security, easy maintenance and scalability.

License

Notifications You must be signed in to change notification settings

phamtiendungcw/MesBaX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MesBaX: Media Enhanced Sales & Business Analytics Exchange

Build Status Quality Gate Status PRs Welcome License

MesBaX is an advanced e-commerce platform that provides powerful sales and business analytics solutions, optimized by the power of media integration. The project is built on Clean Architecture combined with the CQRS pattern, using .NET Core 6 for the backend, Angular 16 for the frontend, and SQL Server/Oracle for the database.


🌟 Key Features

  • 🖥️ Modern UI/UX: Intuitive and responsive design powered by Angular.
  • ⚙️ Scalable Backend: ASP.NET Core for high-performance and reliability.
  • 🗄️ Database Flexibility: Supports SQL Server and Oracle Database.
  • 📦 Comprehensive Management: Inventory, orders, customers, and payments in one place.
  • 💳 Secure Payment Gateway: Integration with industry-standard payment systems.
  • 📈 Advanced Reporting: Generate real-time insights for business decision-making.

🚀 Getting Started

1️⃣ Clone the Repository

git clone <https://github.com/phamtiendungcw/MesBaX>
cd MesBaX

2️⃣ Set Up Backend

  • Open the MesBaX.sln solution in Visual Studio.
  • Restore NuGet packages:
    dotnet restore
  • Configure database connection strings in appsettings.json.
  • Open the Package Manager Console and run the following command to update the database:
    dotnet ef database update
  • Set MBX.Server as the startup project. Then, press F5 or click the Start button (with the green play icon) to run the project.

3️⃣ Set Up Frontend

  • Navigate to the Angular frontend folder:
    cd src/MBX.UI
  • Install dependencies:
    npm install
  • Start the Angular development server:
    ng serve

📂 Project Structure

MesBaX/
├── src/
│   ├── MBX.Application/     # Application logic
│   ├── MBX.Domain/          # Core domain models
│   ├── MBX.Infrastructure/  # Infrastructure services
│   ├── MBX.Persistence/     # Database migrations and access
│   ├── MBX.Server/          # ASP.NET Core Web API
│   ├── MBX.UI/              # Angular frontend application
├── docs/                    # Project documentation
├── tests/                   # Project testing
├── LICENSE                  # License file
├── README.md                # Project overview
├── CONTRIBUTING.md          # Contribute to the project
└── MesBaX.sln               # Solution file

🎯 Objectives

Mesbax aims to provide medium and large businesses with a comprehensive tool to:

  • ✅ Efficiently manage products and orders.
  • 📊 Perform in-depth analysis of sales data and customer behavior.
  • 📈 Optimize business strategies based on real-time data.
  • 🚀 Enhance operational efficiency through robust media integrations.

🏗️ Architecture

The project applies Clean Architecture to ensure flexibility, maintainability, and scalability. The project structure is divided into independent layers:

  • Domain: 🏛️ Contains core business entities (e.g., Product, Order, Customer), value objects (e.g., Address, Money), domain services (e.g., OrderCalculationService), and domain events (e.g., OrderCreatedEvent). It's independent of any specific frameworks or technologies.
  • Application: ⚙️ Contains use cases, implementing the CQRS pattern to separate read (Queries) and write (Commands) operations.
  • Infrastructure: 🛠️ Contains specific implementations for database, caching, logging, external services, etc.
  • Presentation: 🌐 Contains the Web API controllers (backend) and Angular components (frontend), responsible for interacting with the user and the Application layer.

CQRS (Command Query Responsibility Segregation): ↔️

CQRS is used to segregate responsibilities between read and write operations, optimizing the performance and scalability of the system.


🛠️ Tech Stack

  • Backend: .NET Core 6, ASP.NET Core, Entity Framework Core
  • Frontend: Angular 16, TypeScript, RxJS, HTML5, CSS3
  • Database: SQL Server / Oracle
  • API: RESTful API
  • Authentication/Authorization: JWT (JSON Web Tokens)
  • Caching: Redis / Memcached (optional)
  • Logging: Serilog
  • Testing: xUnit / NUnit / MSTest (backend), Jasmine / Karma (frontend)
  • CI/CD: GitHub Actions

📜 License

This project is licensed under the Apache 2.0 License.


🤝 Contributing

We welcome contributions!
Feel free to submit pull requests, report issues, or suggest new features. Please follow our contribution guidelines.


📧 Contact

For inquiries, please contact the development team at mesbaxdev@gmail.com.

About

MesBaX is an e-commerce platform designed for medium and large businesses, providing comprehensive solutions. Using Clean Architecture, CQRS, .NET Core 6, Angular 16 and SQL Server/Oracle. MesBaX ensures high performance, security, easy maintenance and scalability.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages