Web app - Infinitely scrollable feed of Wikipedia articles, designed for mobile first.
- React - Create component based UI
- Vite - Quickly scaffold React project
- axios - Send different HTTP requests from frontend to API
- eslint - Formatting and linting for JS code
- Node.js - Runtime for JavaScript on backend
- Express - Web framework for Node, useful APIs for routing etc
- nodemon - Live reloads the server as you make changes
- Postman - Mock HTTP requests to the server
- cors - Allows server to connect to resources of other origins
- bcrypt.js - Allows password salting before pushing to database
- MongoDB - Store objects on remote database (used MongoDB Atlas)
- mongoose - Allows backend to easily connect to MongoDB
- JsonWebToken - Allows us to generate tokens so that server can verify users
- dotenv - Allows server to use secret keys safely
- I got extra practice using the React useState and useEffect hooks which allowed me to ensure that components on the page continually re-render with the most up to date data from the backend.
- The more I use React along with its hooks, I can't imagine writing markup another way that isn't .jsx, it just makes everything so easy.
- I now would like to learn more about server-side rendering and the benefits it offers for entirely JSX sites.
- The biggest learnings for me came when working out the backend and attempting my first user authentification system. I got to try using Json Web Tokens with a lot of help from the documentation. I'm excited about learning more about JWT's use and the theory behind it.
- I really enjoyed the process of making an API from scratch. I think it's really satisfying to create the files using clean compact code and exposing only the endpoints that are required by the front end.
- I also learnt a lot about the practical differences between a relational database and an object based database like MongoDB.