Notes

Notes app for coding challenge.

Build a Notes App Acceptance Criteria: There should be a list of all notes. You should be able to add a note. You should be able to edit a note. You should be able to delete a note. The notes should be persisted and retrieved via a back-end service. You should be able to go straight to a note if specified in the url (notes.com/4). Stretch Goals: If you want to and have the time, go for it! Otherwise, just be sure to think about how you would go about implementing them and we’ll walk through it in the in-person interview. Input Validation Unit testing Parameters: Frontend: We’d like you to use a frontend framework (React strongly preferred). Services: The server that hosts services can also host the html page so you don’t run into cross origin problems. For frameworks (or lack thereof), use what you’re familiar with but if you don’t have a favorite Web API is a great option. Persistence: A JSON file is fine, this doesn’t need to be a distributed app. SQLite is fine. If you’d rather something else, great. Just make sure the project is self-contained so we can run it. Source Control: We need to review and run your app, so please create a repo on GitHub. Don’t have a GitHub account? It’s free to join.

Do’s and Don’ts Do go with what you know. You don’t need to use the latest and greatest. Do add a README with instructions to run. Do read docs and use the vast resources of the internet. We don’t expect you to know everything, but you should know where to find it. Do let us know if you have any questions, problems or feedback. Do give us some pointers to the code you wrote if you used a framework which comes with a lot of boilerplate. Don’t worry about too much polish. Make it usable and presentable, but don’t worry about perfect styling or UI design. Don’t over engineer it. We don’t need authentication, logging or minification.

Build a Notes API Acceptance Criteria: You should be able to get a list of all notes. You should be able to get a specific note. You should be able to add a note. You should be able to edit a note. You should be able to delete a note. The notes should be persisted. Stretch Goals: You do not need to implement these. If you want to and have the time, go for it! Otherwise, just be sure to think about how you would go about implementing them and we’ll walk through it in the in-person interview. Validation Unit testing Parameters: Services: For frameworks, use what you’re familiar with but if you don’t have a favorite, .Net Core, Laravel, or the Node.js HTTP Server are all great options. Persistence: A JSON file is fine, this doesn’t need to be a distributed app. Lowdb is a great library for just this. If you know lodash/underscore, you know lowdb. If you’d rather something else, great. Just make sure the project is self-contained so we can run it. Source Control: We need to review and run your app, so please create a repo on GitHub. Don’t have a GitHub account? It’s free to join.

Do’s and Don’ts Do go with what you know. You don’t need to use the latest and greatest. Do add a readme with instructions to run. Do read docs and use the vast resources of the internet. We don’t expect you to know everything, but you should know where to find it. Do let us know if you have any questions, problems or feedback. Do give us some pointers to the code you wrote if you used a framework which comes with a lot of boilerplate. Don’t over engineer it. We don’t need authentication or logging.

GitHub

View Github