The goal of this project is to motivate the Codecademy community to learn and practice JavaScript. The app uses the following tech stack:
- React
- Express
- PSQL
- Node.js
This is otherwise known as a PERN stack. At the time of writting this, the app currently concatenates an array of nouns and adjectives using faker.js to "randomly" create a bandname.
If the user doesn't like the presented bandname, they can make the app generate another. If by chance they do like the bandname, they can save the bandname into the PSGL db.
The app will also have the option to show a list of already-liked bandnames. These bandnames are upvoted and downvoted. In addition, when liking or disliking a bandname, you can
"spam" either one.
First, thank you so much for taking the time to contribute and for sharing your knowledge. In order to contibute you'll need to do some setup work. This will be a list of steps to take:
-You'll need to make sure you have PSQL installed on your computer. You can read more about that here. Personally, I use the SQL shell script that comes with PSQL to query the DB.
- Once you have it installed, you'll have to create a database called
bandnameapiThis database will have a table calledbandsandusers. Here is a picture of these tables and their columns:
-
You will also need a
.envfile. This is highly important since your DB may require a password (keep in mind the project is setup so that it expects a password). If you hard code this password, and then make contributions to the project, your password maybe published with the project. The project has aenv.examplefolder in which you can see how your.envfile should be structured. -
Upon downloading the project be sure to run
npm installin the root directory, then cd into the my-app directory and runnpm installthere as well. -
Once you've finished installing packages for both the frontend and the backend, run
npm run setup-dbin the terminal. This will create the necessary tables in your database and populate the band table with 10 entries. -
Finally run
npm run devin your terminal to launch the project. -
If at any point you feel the need to reset the database back to a clean slate, you can run
npm run reset-db. This command will drop the tables in the database, recreate them, and seed the database where necessary.
Keep in mind that your contribution could make this repository multi-faceted. As a result, it's highly recommended to add tests to your contribution.
