run the cmd docker-compose up --build in the folder that contains the ReadMe file
- It is on the api branch.
- contains the API of the system which has one module managing the tracked time entity
- developed with NestJS using MongoDB database
- uses swagger for the description of the data transfer objects and the routes
- It is on the ui branch.
- contains the the UI of the system
- developed with Angular
- contains a navigation menu (button on the upper left) to access either list of tracked times or track time automatically or manually
- the tracker component books time (using the tracker) either from the timer automatically by starting it or manually by entering the duration on the form (with adding description in both cases)
- the manual-time-booker books time without tracker
- the tracked times list gives an overview about the all the saved times
- the structure of the API
- the data table used for the tracked times list
- using docker for the ui and the api
- the management of the observable to make the tracker work correctly
- the handling of potential errors on the API and on the UI
- Add more validation to the forms
- make better styling
- maybe better structure for the UI (like add another component that will be a container for the components)
- maybe better configuration for the nginx
- I did not have time to add seeding module for the database. We can either generate data from the UI directly by creating time logs from the tracker or from the manual booking. Otherwise, after running the project, we can directly import the API swagger description by link into Postman for example (the link: localhost:3000/api-json) and add to the body of the route POST an example of this entity: {
"description": "developing the tracking time system",
"startTime": "2021-02-13T09:45:47.899Z",
"endTime": "2021-02-13T09:45:47.899Z",
"duration": "02:01:15"
}