Wiredcraft / test-fullstack

6 stars 43 forks source link

Submission from Taylor Brennan #61

Closed tjbrennan closed 2 years ago

tjbrennan commented 2 years ago

Hi there, instructions for running the project are in README.md, but here's the short version:

To run the app

npm install, then npm start, then visit localhost:3000

Notes and caveats:

The app uses react for the frontend, react-router-dom for routing, styled-components for building UI components, webpack and babel for bundling, express for the API and for serving the static bundle, and sqlite3 for the database. Instructions for running the app are in README.md, but if you have any issues please contact me.

It’s been a while since I’ve built a React app from scratch, and I am reminded why create-react-app exists; I spent longer than I would have liked on configuration, boilerplate, and the “gotchas” that I came across along the way. You may notice that some of my commits refer to a project called react-scaffold. At the start of this project I decided to save my steps of the build process to a different project, and then transition to topic-vote when the custom code came in. Rest assured, all the code is mine and is not copied from anyone else.

The app UI was designed with mobile in mind. Of the requirements, all of the user stories have been completed, with one exception of the “user” field being included in the form rather than saved by the system. I didn’t get a chance to add any type of user authentication. If I were to spend more time on it, perhaps a quick way would be to ask the user for their name and then store it in the session cookie.

Continuing on, there is a separate frontend and backend with a RESTful API. Basic tests have been written for snapshot testing on the frontend using jest and react-test-renderer. Given more time, I would add tests for interactive UI functionality, as well as tests for backend API routes.

This was a fun challenge. I had hoped to be able to work on some advanced requirements, but again the initial setup took a bit longer than I expected. I think I may continue working on this in my free time. Next steps would be to add significantly better error handling, and perhaps find a better color scheme…

Thanks for the opportunity and I’m looking forward to hearing back from you!

Taylor

rankun203 commented 2 years ago

Thanks everyone :)