The purpose of these exercises is to evaluate the candidate or apprentice's designing and development abilities. We expect the code to be published publicly in a Github or Bitbucket repository. You can use any technology with which you you feel proficient. We suggest using Django for the Backend, React for the frontend, and PostgreSQL for the database.
We have the following exercises available:
If you feel inclined and you have extra time, consider also completing the following activities related to code quality, testing and deployment.
- Improve the code using Sophilabs' Guidelines.
- Unit Test coverage above 90% both frontend and backend.
- Use containerization through
Docker to isolate your web server and database. A good starting point
could be having 3 containers:
- A Frontend Server, which hosts a Single Page Application and makes calls to a Backend Server to do any operation with the system.
- A Backend Server, which exposes an API for operating with the system. It can contain the Admin Site to approve users.
- A Database Server to store persistent data, using PostgreSQL or another database engine of your choice.
- Deploy your project to be available publicly on Amazon Web Services, Heroku or a similar service.
Good luck!