Fullstack Software Developer Challenge
Challenge: Create a working, react app with Node.js backend.
DUE DATE: June 17 , 11PM Nigerian time
Requirements
- Install the latest version of Node.js (and npm) on your computer.
Backend
- Create a very basic backend using the Express framework. This might be helpful: Render HTML file in ExpressJS
- It should respond to two different routes:
- GET /data: returns a list of transactions with each transaction containing
- tnx_id
- description
- user
- date
- GET /data/:tnx_id: Takes an ID param/query and returns the transaction for the ID
- GET /data: returns a list of transactions with each transaction containing
- The data is being pulled from your express API. Data can be stored in a Mongo DB or any other DB or dummy data
Frontend
- Create a simple react App with Create React App or others with two pages
- 127.0.0.1/ to display a list of all the transactions: This page fetches transactions from the API by calling GET /data and displays it
- 127.0.0.1/view/:tnx_id to display details of a single data point. You get to the page by clicking the transaction item on a list/card item on the homepage: This page calls GET /data/:id and displays the details of that transaction in a nice format
- Do not worry about making your app pretty
- You are encouraged to add unit tests
Rules
- You must use Git and GitHub. And submit the repo as part of your submission
- Please send us a link to your GitHub page where we can review your code.
- Add README so we can understand and start and test the project
Bonus points
For bonus points,
- Set it up on Heroku, Netlify or Amazon EC2/Elastic Beanstack so we can preview the working version of your code. Here is a nice guide to getting started with Node.js on Heroku.
- Use material UI because that is what we use
- Use GraphQL instead of REST
- Use MongoDB for the data
- Add tests
- Build the same app with React Native.
Submission
Submission Link: https://docs.google.com/forms/d/e/1FAIpQLSe5ZX1OVgepx1qvIwoLUUpy9GmYOjrPu-dT5S4l233dp6JFSw/viewform?usp=sf_link
DUE DATE: June 17 ,11PM Nigerian time