Technology Store is a web application developed using ASP.NET and C#. The project features a microservices architecture with Ocelot as the gateway managing routes between three APIs (OrderAPI, ProductAPI, UserAPI) and the client application. It includes cookie-based authorization and field validation. Data is managed and saved in an MS SQL Server database via Entity Framework Core. This app allows admins and managers to manage products, users, and orders through CRUD operations, while clients can view products, search, add items to their basket, make orders, cancel orders, and view their profile with loging, registrating into system.
This project was a course assignment at IT Step Computer Academy. It demonstrates CRUD operations for product, user, and order management with role-based access control, integrating MS SQL Server with Entity Framework Core. The project also uses Bootstrap for UI styling and Ocelot for managing API routes.
Note: This project requires an MS SQL Server setup with proper connection strings.
Follow these steps to set up the project:
-
Clone the repository:
git clone https://github.com/zabavb/Technology-store.git
- Configure your MS SQL Server and update the connection strings in the
appsettings.json
file. - Install the required NuGet packages, including Ocelot, Microsoft.EntityFrameworkCore, and others as needed.
- Open the solution file in Visual Studio, build the project, and run the application.
- Role-based Access: Admins and managers can manage products, users, and orders, while clients have restricted access to view products, manage their basket, and place/cancel orders.
- Security: Cookie-based authentication with field validation for secure data handling.
- API Management: Ocelot handles API routing between client and microservices, with a clean, streamlined gateway setup.
To use this application, ensure you have the necessary permissions and connection strings configured. Admins and managers can manage products, users, and orders, while clients can explore product catalogs, manage orders, and view their profiles.
Contributions are welcome! If you have any suggestions or improvements, feel free to fork the repository and submit a pull request.
- Fork the Repository: Click the "Fork" button at the top-right of this page.
- Create a Branch: Create a new branch for your changes.
- Commit Changes: Make your changes and commit them with a descriptive message.
- Push to Your Fork: Push your changes to your forked repository.
- Submit a Pull Request: Go to the "Pull Requests" tab and submit a new pull request.
For any questions or inquiries, you can reach me at mail or connect with me on LinkedIn.
- Thanks to IT Step Academy for providing the resources and guidance for this project.
- Special thanks to Microsoft for their comprehensive documentation and cloud services.
- Gratitude to the open-source community for NuGet packages and contributions.
Feel free to modify or extend this README to fit your needs better. Happy coding!