An open API service indexing awesome lists of open source software.

https://github.com/zabavb/technology-store

This is a web app developed on ASP.NET. The project features a microservices architecture with Ocelot as the gateway managing routes between three APIs and the client app. It includes cookie-based authorization and field validation. Data is managed and saved in an MS SQL Server database via EF Core.
https://github.com/zabavb/technology-store

api-rest asp-net-mvc authorization bootstrap5 client-server cookie-authentication crud-operation csharp database dotnet entity-framework-core gateway-api lambda-expressions library linq-to-sql microsoft-sql-server ocelot-api-gateway store website

Last synced: 4 months ago
JSON representation

This is a web app developed on ASP.NET. The project features a microservices architecture with Ocelot as the gateway managing routes between three APIs and the client app. It includes cookie-based authorization and field validation. Data is managed and saved in an MS SQL Server database via EF Core.

Awesome Lists containing this project

README

          


Technology Store Logo

Technology Store ASP.NET Application

Project Overview



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.

Project Details




  • Languages:

    C#



  • Technologies:

    .NET Framework


    Entity Framework


    Ocelot API



  • Security:

    Cookie Authentication



  • Project Type:

    ASP.NET Web App


Development Details



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.

Getting Started


Note: This project requires an MS SQL Server setup with proper connection strings.


Follow these steps to set up the project:




  1. Clone the repository:
    git clone https://github.com/zabavb/Technology-store.git


  2. Configure your MS SQL Server and update the connection strings in the appsettings.json file.

  3. Install the required NuGet packages, including Ocelot, Microsoft.EntityFrameworkCore, and others as needed.

  4. Open the solution file in Visual Studio, build the project, and run the application.

Features




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

Usage



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.

Contributing


Contributions are welcome! If you have any suggestions or improvements, feel free to fork the repository and submit a pull request.



  1. Fork the Repository: Click the "Fork" button at the top-right of this page.

  2. Create a Branch: Create a new branch for your changes.

  3. Commit Changes: Make your changes and commit them with a descriptive message.

  4. Push to Your Fork: Push your changes to your forked repository.

  5. Submit a Pull Request: Go to the "Pull Requests" tab and submit a new pull request.

Contact



For any questions or inquiries, you can reach me at mail or connect with me on LinkedIn.

References


Acknowledgements



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