Handling of automatic data update
⚠ Never ever commit any ID or data from the UTC DB ⚠
UTC data is hosted on an Oracle database.
Create a new django app in the folder(will be done in Java)
interface_UTC(at the root of the repo).
- The app should connect to the UTC DB and convert the 4 views to JSON arrays,
- This app must advertise one endpoint for each view,
The app must advertise other endpoints that accept a login as parameter:
- to check what are the sharing permissions associated with a student
- to get all the departures information for a student
- So that we don't have to fetch all the data when there is a permission change.
- The app must be documented, consistent (error code) and resilient,
- All endpoints will be readonly.
- Create a mock of this new API so that we can easily use it in a dev environment.
- Don't commit any personal data,
- You can use a local database (of your choice) to hold the dev data,
- All the mock data should be of the form of (commited) SQL scripts,
You should update the
docker-composefile with the new service(s).
- Create the python scripts to handle the transfer of the data from the API created above into Django models.
- Those scripts should be runnable on demand.
Put them in a sub-application of the
Currency exchange rate
Handle the connection to Fixer API to retrieve the exchange rates (directly from
- Handle the update of the data in the model
- Make it resilient.
- Investigate the use of Cron (inside the backend docker container) to have an automated daily data update. https://uwsgi-docs.readthedocs.io/en/latest/PythonDecorators.html
Create a backend model / and frontend page, to show when where the latest update / the number of errors; so that anyone can see if the system is healthy at any point in time.
Also run clearsessions and delete user in the cron