Implement a simple weight-tracker app.
NodeJS: Write something using Express
using NodeJS
to create an API
that has the following endpoints:
- /login
- /sign_up
- /save_weight
- /get_weight_history
- /update_weight - edit an existing weight entry
- /delete_weight - delete an entry
- JWT Web tokens (use npm package 'jsonwebtoken') to allow authentication
- Use Swagger for API documentation
- Enter his/her weight into a page and submit it
- Save this along with the current time
- View a list of all weight entries, sorted by most recent date
- Edit an existing weight entry
- Delete entries
- Sign-out functionality
Feel free to use dependency injection libraries such as Provider
.
When building the UI and navigating between screens, choose the approach that makes most sense in terms of usability.
Adding unit tests is not
required for this project.
If some requirements appear to be vague or lack sufficient details, make assumptions based on your own judgment.
The assignment will be evaluated according to the following criteria:
- The app works and satisfies the requirements outlined above
- General project structure and organization of code
- Separation of concerns between UI, authentication, database code
- Implicity - we don't require an over-engineered solution
- Naming conventions for variables, functions and classes
Making the UI look nice is not required as part of this task - but is a bonus!
The expected duration of this assignment is between 1 and 4 days ONLY
When submitting the assignment, compress the entire Flutter project into a zip file, and send an email to [email protected], [email protected], and [email protected]
to notify them of your completion.
Bonus: using GIT, check-in your code to this repositoy with a branch using your name! Ask questions if something is wrong with this process for you
If there are any parts of this assignment that you can not complete, include a brief explanation of why.