Project Title: Dealership Management System (DMS)
Objective: To create a comprehensive Dealership Management System that allows for the management of a dealership's vehicle stock. Users should be able to view, add, edit, and remove vehicles
- Make a GitHub account and create a new repository.
- Implement a GitHub Project Kanban Board for task management.
- Ensure that Pull Requests (PRs) are utilized for code reviews.
- API Endpoints:
- HTTP GET: Retrieve vehicle information.
- HTTP POST: Add new vehicle.
- HTTP PUT: Update vehicle information.
- HTTP DELETE: Remove a vehicle.
- Database Management:
- Utilize Dapper for object-relational mapping.
- Implement SQLite for the database.
- Utilize T-SQL for managing database queries.
- Unit Tests (TDD Approach):
- Ensure there is no duplication of data.
- Ensure that price calculations are accurate, considering the VAT.
- Display:
- Vehicles should be listed in a table.
- Users should be able to view all vehicles per dealership.
- Functionalities:
- Add, Edit, and Remove vehicles from the dealership’s list.
- Implement a search/filter feature for the vehicles' table.
- Extra Features:
- Error Handling: Implement proper error messages (400, 404, 500).
- Properly document the project.
- A technical report detailing the architecture and workflow of the application should be produced.
-
Project Initialization:
- Setup GitHub Repository and Project Board.
-
Backend Development:
- Database and API Setup.
- Develop and Test API Endpoints.
- Implement Unit Testing.
-
Frontend Development:
- Design the UI layout.
- Implement the functionalities: CRUD operations, search/filter.
-
Documentation:
- Complete the documentation and the technical report.
- Review and finalize all project documents.
- Backend: C# with ASP.NET WebAPI
- Database: SQLite with Dapper ORM
- Frontend: Angular
- Version Control: Git & GitHub
- Project Management: GitHub Project Board
A fully functional Dealership Management System with backend API, responsive Angular front end, and detailed documentation.