FullStack garage management system with ASP.NET Core backend and Angular 17 frontend. Fetches garages from a government API and stores them in a local SQL Server database.
-
Backend (GARAGESAPI/):
GET /all-gov- fetch from government APIGET /all-local- fetch from local DBPOST /add- add single garagePOST /add-multiple- add multiple garages without duplicates- All DB operations are async with error handling
- Database Connection: Each developer must set their own SQL connection string in
appsettings.jsonor before running the backend.
-
Frontend (CLIENT/GARAGES-APP/):
- Table for local garages in DB
- Multi-select component
- "Add" button for selected garages
- Loading spinner and SnackBar notifications
- Smooth table animations
- Services Structure:
GaragesService- handles all HTTP requests to backendGaragesStateService- manages local state of garages (local, government, selected)- The separation ensures a clean architecture.
- Backend:
- Open a terminal in GARAGESAPI/
- Restore packages: dotnet restore
- Run the backend: dotnet run
- API URL: http://localhost:5134/api/garages
- Frontend:
- Open a terminal in CLIENT/GARAGES-APP/
- Install dependencies: npm install
- Run the Angular development server: ng serve
- Open in browser: http://localhost:4200
- Make sure the backend is running before starting the frontend.
- All SQL operations are asynchronous.
- Ensure the connection string points to your local SQL Server.