Git Repo

Nomad is a MERN stack app, meaning it uses the following technologies:

MySQL (Postgres)

The SQL database is in PostGres, and is hosted on Heroku along with the app.

All of the API routes are written in Express, and the front-end constantly makes requests to it. API routes exist to generate a random word, save a word, and retrieve saved words.

The front-end is done with React. This project was my first time using it, along with MaterialUI for any UI components.
I found certain parts of React really annoying, like 'the rules of hooks', and having to pass props around to components.
The rules of hooks was primarily annoying because I had to invoke an auth0 hook to retrieve the user's email, which I did a lot. I couldn't do this within class components though, otherwise it'd get upset.
For my next project, I definitely want to try Angular.

Node is used for the rest of the back-end tasks, that don't involve Express routes. This includes making requests to other APIs, such as the Google Cloud Translate API, and a Definition API, to provide more information for words.

I struggled a lot with motivation during the development of this project (due to COVID, among other things), which is why it remains unfinished today.