The time to do this project has been spent as the following :
- Backend : 1h30m
- Frontend: 1h45m
- Readme : 10m
This project is using the following runtimes :
- .NET 7.0
- Node.js 18.0
- Open the solution in Visual Studio.
- Restore Nuget packages
- Go to frontend and run
npm install - Edit
frontend/src/config/config.tsand setAPI_URLto the backend url (normally you only have to change the port) - In Visual Studio set
Startup projectas :- docker-compose (Action: start)
- frontend (Action: start)
- Click on Run
By following the steps above, the SQL Server container will be automatically created and the database will be created when the backend starts.
- Open the solution in Visual Studio.
- Restore Nuget packages
- Go to frontend and run
npm install - Edit
frontend/src/config/config.tsand setAPI_URLto the backend url (normally you only have to change the port to 5001) - Edit
ExpensesTracker/appsettings.jsonand setConnectionStrings->SQLDatabaseto the value corresponding to your environnement - In Visual Studio set
Startup projectas :- ExepensesTracker (Action: start)
- frontend (Action: start)
- Click on Run
By following the steps above, the database will be created when the backend starts.
Backend
- Better Exception handling
- Use structured logging (Serilog)
- Decoupling the database from the API
- More validation in the database
Frontend
- Better UX (Notification, Multiple pages, ...)
- Better UI styling
- Better state management (React-Query, Redux)