Skinet is a comprehensive full-stack web application that demonstrates a modern e-commerce platform. Utilizing Angular for the frontend and ASP.NET Core for the backend, this project showcases a range of features and design patterns that are essential for today's web development standards.
- Angular: The interactive frontend is built using Angular, providing a seamless user experience.
- Html CSS BootStrap
- ASP.NET Core: The backend API is developed with ASP.NET Core, offering robustness and scalability.
- Entity Framework Core: As the ORM for data persistence, it facilitates database operations.
- Specification Pattern: This pattern is used to encapsulate the logic for selecting entities from a database in a reusable way.
- Generic Repository Pattern: Abstracts the data layer, improving maintainability, scalability, and testability of the application.
- Lazy Loading Pattern in Angular: Improves performance on the client side by loading JavaScript components asynchronously as they are needed.
- Multi-Layer Architecture: The application is structured into multiple layers (API, Client, Core, Infrastructure) to separate concerns and enhance modularity.
- Product Catalog: Users can browse through a variety of products with detailed descriptions and images.
- Advanced Search: Users can quickly find products with a dynamic search feature.
- Pagination: Products are displayed across multiple pages to improve user experience and performance.
- Sorting: Users can sort products based on different criteria such as price or name.
- Filtering: A robust filtering system allows users to narrow down their search to find exactly what they're looking for.
- Shopping Cart: A fully functional shopping cart is included to manage selected products before purchase.
- Order Management: Users can review their orders and track the status of each purchase.
- Error Handling
- Stripe Payment Integration: To evolve into a full-fledged e-commerce application, Stripe integration will be added for secure online payments.
- Complete Unit Testing: Ensuring the reliability of the application through comprehensive unit tests.
- Admin Panel: An admin panel for managing products, users, orders, etc., will be implemented for better control and maintenance of the application.
- API: Contains the ASP.NET Core Web API project - the backend.
- Client: Contains the Angular project - the frontend.
- Core: Holds the core business logic and entities.
- Infrastructure: Implements the data access layer, repository, and specification patterns.
To set up the project locally, ensure that Node.js, .NET 5 SDK, and Angular CLI are installed.
-
Clone the repository:
git clone https://github.com/SamirMagdyI/Skinet.git
-
Navigate to the project directory:
cd Skinet
-
Install npm dependencies:
npm install
-
Start the Angular frontend:
ng serve
-
In a separate terminal, start the .NET Core backend:
cd API dotnet run
-
Access the application at
http://localhost:4200/
.
This project is licensed under the MIT License.