This is an E-Commerce platform named 2B-Egypt built using ASP.NET 8 MVC for the Admin Dashboard, ASP.NET 8 API for backend services, and Angular for the frontend. The project allows users to browse products, add them to the cart, and complete transactions. Admins can manage products, orders, users, and other system settings.
-
Admin Dashboard (ASP.NET 8 MVC)
- User management (view and manage users)
- Product management (add, edit, delete products)
- Order management (view and process orders)
- Analytics and Reports
-
User Interface (Angular)
- User authentication and registration
- Product catalog with categories and search
- Shopping cart and checkout system
- Order history and user profile management
-
Backend API (ASP.NET 8 API)
- CRUD operations for products, orders, and users
- User authentication (JWT-based)
- Order processing and payment integration (if applicable)
Make sure you have the following installed:
- .NET SDK 8 (for ASP.NET 8)
- Node.js (for Angular)
- Angular CLI (install with
npm install -g @angular/cli
)
git clone https://github.com/AhmedMeky/2B-Egypt-Store.git
cd 2B-Egypt
Navigate to the API project folder:
cd 2B-Egypt.API
dotnet restore
dotnet build
dotnet run
Navigate to the Angular project folder:
cd ../2B-Egypt.Angular
npm install
ng serve
The application should now be running on http://localhost:4200
Navigate to the Admin Dashboard project folder:
cd ../2B-Egypt.Admin
dotnet restore
dotnet build
dotnet run
The Admin Dashboard should now be running on http://localhost:5269.
Database: This project uses SQL Server. Make sure to set up the database connection string in appsettings.json in both the API and Admin Dashboard projects.
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=2BEgyptDB;Trusted_Connection=True;"
}
- ASP.NET 8 MVC: For building the Admin Dashboard using the Model-View-Controller architecture.
- ASP.NET 8 API: For creating the backend API with RESTful services.
- Angular: For building a dynamic and interactive frontend for users.
- SQL Server: For the database management system, storing products, orders, and user data.
- JWT (JSON Web Tokens): For secure user authentication and token-based authorization.
- Entity Framework Core: ORM (Object-Relational Mapping) used for data access and interactions with SQL Server.
- Bootstrap: For responsive front-end design to ensure a mobile-friendly UI.
- Swagger: API documentation and testing tool that provides an interactive API documentation interface.
- Nginx: Reverse proxy server used to manage frontend and backend interactions (optional, depending on deployment setup).
- Redis: In-memory key-value store, often used for caching frequently accessed data for improved performance.
- JWT Bearer Authentication: Used in API for secure authentication and authorization.
- OAuth 2.0: For external authentication integrations (such as Google, Facebook login).
- Unit Testing Frameworks (xUnit, NUnit, Jasmine, Karma): For writing unit tests to ensure the quality and reliability of the application.
- SASS/SCSS: CSS preprocessors for writing cleaner and more maintainable stylesheets.
- Webpack: A module bundler for JavaScript, used in the Angular app to bundle and optimize the frontend code.
- Git: Version control system used to track changes and collaborate on the codebase.
- GitHub / GitLab / Bitbucket: Git repositories hosting services for version control and collaboration.
- Webpack: JavaScript bundling and optimization tool used in Angular for better performance.