A proof-of-concept MERN - CRUD app.

Tech: MongoDB Atlas, Express, React, NodeJS, Jest and Enzyme, Axios, Heroku, Sass, BEM, Flexbox.

Why the MERN stack?

The project was originally a fullstack solution for a tech test and was partially completed. Although I didn’t get the job, I wanted to finish the app and saw it as a good opportunity to continue learning and improving my skills.
As the original challenge didn’t stipulate any specific technologies or frameworks. I chose the MERN stack, as I'd been using JavaScript, learning React and could use modern hooks-based React components on the front-end and NodeJS for the API and CRUD functionality on the backend.

Challenges and things I'm proud of

Building a responsive and functional job listing application involved lots of design and architecture decisions. Following SOLID principles, writing resuable code, adding accessibility features and getting a better understanding of scope, props and promises are some of the things I'm proud of.

Lessons learned

Separating concerns, creating reusable components, client and server side form validation. TDD - unit testing with Jest and Enzyme and understanding what to test, managing and updating state in React, extracting reusable functionality with custom hooks, adding responsiveness, achieving better UI design's, creating API routes and connecting to a database.

Responsive UI, mobile screen

User form