Skip to content

Latest commit

 

History

History
42 lines (33 loc) · 1.62 KB

TODO.md

File metadata and controls

42 lines (33 loc) · 1.62 KB

TODO

Goals:

  • Design and implement a documented RESTful API for the game (think of a mobile app for your API)

API Features:

- Ability to support multiple users/accounts
- Ability to start a new game and preserve/resume the old ones
- Ability to select the game parameters: number of rows, columns, and mines
- Ability to 'flag' a cell with a question mark or red flag
- When a cell with no adjacent mines is revealed, all adjacent squares will be revealed (and repeat)
- Persistence
- Time tracking
- Detect when game is over

Deliverables (in order of importance):

1. Code in a public Github repo
2. README file with the decisions taken and important notes
3. URL where the game can be accessed and played (heroku.com, aws.amazon.com, etc)

Desirables:

  • Implement an API client library for the API designed above. Ideally, in a different language, of your preference, to the one used for the API

Action Plan:

- [✓] Draft API resources along with its endpoints and respective database models
- [✓] Implement API database models
- [✓] Implement API endpoints
- [✓] Document code
- [✓] Create Postman collection for testing API endpoints
- [✓] Create Dockerfile and docker-compose for containerizing the API
- [✓] Add logging middleweare for easier tracking of requests
- [ ] Add log-in resource + endpoint authentication/authorization
- [ ] Sanitize input parameters from requests
- [ ] Paginate API responses
- [ ] Create unit-tests
- [✓] Deploy API on the cloud
- [ ] Create API documentation
- [✓] Write README file