The assignment is to develop a containerized application using Docker and Django that supports a list of sensor stations in an area. For data storage you should use PostGIS. Data will be served with 'Django Rest Framework' or a similar REST-API framework.
There two type of users, an admin and a station owner. The station registration [3] needs privileges but everyone should view the list of stations [4] without login or registration.
There should be documentation about using the REST-API, Open-API style like Swagger is preferred.
No Front-end is needed.
Please provide a Git repository with the solution (e.g. Github/Gitlab private repo) and an accompanying online demo website.
Provide a REST-API that includes endpoints for:
- User registration with at least the following fields:
- Username
- Password
- User login with a production ready authentication method (e.g. JWT)
- Station creation, with the following fields:
- name
- category
- description
- lat/lon coordinates
- contact information
- A list of stations with the following capabilities:
- Filtering by category
- Pagination
- Search by name
- Stations within a radius of a location
The use of industry mature libraries/frameworks is preferred.
The usage of open-source libraries is required.