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!
Hi there, instructions for running the project are in
README.md
, but here's the short version:To run the app
npm install
, thennpm start
, then visit localhost:3000Notes and caveats:
The app uses
react
for the frontend,react-router-dom
for routing,styled-components
for building UI components,webpack
andbabel
for bundling,express
for the API and for serving the static bundle, andsqlite3
for the database. Instructions for running the app are inREADME.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 calledreact-scaffold
. At the start of this project I decided to save my steps of the build process to a different project, and then transition totopic-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
andreact-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