Skip to content

s111ew/wik-tok

Repository files navigation

WikTok

Web app - Infinitely scrollable feed of Wikipedia articles, designed for mobile first.

Tool Stack

Frontend:

  • 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

Backend:

  • 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

What I learned

  • 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.

About

A scrollable feed of random Wikipedia articles.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published