- Overview
- Features
- Tech Stack
- Setup and Installation
- Running Tests
- Deployment
- Development Time
- Requirements Verification
- Features
Shelf Layout Manager is a web application designed to manage products and their shelf locations. It allows users to add, edit, and delete products and shelves, and provides a user-friendly interface to navigate through these functionalities.
- Add, Edit, and Delete Products
- Add, Edit, and Delete Shelves
- Navigation between different sections of the application
- Frontend: Blazor, MatBlazor (provides a seamless experience on Android tablets using Material Design)
- Testing: bUnit, Moq, xUnit
- .NET SDK 9.0 or later
- Node.js (for frontend dependencies)
- Clone the repository:
git clone [https://github.com/Fraste01/ShelfLayoutManager.git](https://github.com/Fraste01/ShelfLayoutManager.git) cd shelf-layout-manager - Restore .NET dependencies:
dotnet restore
- Build the application:
dotnet build
To run the application locally:
dotnet runNavigate to https://localhost:5001 to view the application.
To run the unit tests:
dotnet testThis will execute all the unit tests using bUnit, Moq, and xUnit.
To deploy the application:
Publish the application:
dotnet publish -c Release -o outDeploy the contents of the out directory to your web server or cloud service (e.g., Azure, AWS).
| Task | Time Spent |
|---|---|
| Initial Setup (Read the documentation, Install all the packages needed) | 2 hours |
| Implementing Product Features (Add, Edit, Delete) | 4 hours |
| Implementing Shelf Features (Add, Edit, Delete) | 4 hours |
| Navigation and UI Design | 4 hours |
| Writing Unit Tests | 3 hours |
| Documentation and Final Review | 4 hours |
| Total | 21 hours |
- Add user authentication and authorization.
- Upload images for products and use them inside the card for the layout.
- Insert a specification for the shelves if they can store hot/cold or ambient temperature items as it will filter the products that can be stored.
- Insert specification for the item if it has to be stored on a hot/cold or ambient temperature shelf.
- Add functions to manage different stores.
- Upload images for the shelf so it will be rendered correctly.
- Calculate the dimension of the divs in the shelf drag-drop area with the dimension of the shelves/items so it's easier to represent the shelf.