The goal of this take-home test is to give us an understanding of how you approach software development, and whether you would be a good fit for Swarm's development team.
It's also to give you an idea about whether you would enjoy working in a codebase like this!
Please don't spend an excessive amount of time working on these exercises, and don't feel that you need to produce an incredibly polished result.
We know that everyone is busy and not everyone has the ability to devote lots of time to interview preparation.
The key thing is that you can explain the changes you have made, and can discuss any considerations that you had in mind while making your changes.
Please complete as many of the following tasks as you are able to given your time constraints:
- Add a
postcode
field to thelocations
table and make this new field available via the existing endpoints. - Add a component to the app which is capable of using the public Postcodes.io API to resolve the latitude and longitude of a postcode.
- Add a new endpoint to the app to enable callers to create a location.
- Add
latitude
andlongitude
to thelocations
table, and use the latitude / longitude lookup component to save the latitude and longitude to the database when creating a location.
We'd like to see your approach to testing, so if your task involves adding new functionality, please add new tests, and if it involves updating existing functionality, please update the existing tests accordingly.