I took on a challenging project as part of a job interview, where I had just one week to develop a full-stack application. The task was to create an application using a set of specified APIs, and I chose to work with the NY Times API.
The concept behind my project was to build a "Book Club" app, allowing users to log in, search for NY Times articles by category, and add selected books to their personal collection.
While the project isn't yet complete and there are some loose ends to tie up, I intentionally decided to leave it in its current state. I believe this reflects my abilities as a developer under pressure. This project showcases my dedication and what I can achieve when working within tight timelines. It demonstrates my commitment to problem-solving and my willingness to take on challenges head-on.
- Javascript
- React
- Express
- Prisma w/sqlite
- Clone repository to your computer
- Open Terminal
-
Navigate to the API directory and run the following command
npm install
to install the project dependencies: -
In the root directory of the API, locate the .env file and add your API_KEY obtained from https://developer.nytimes.com/apis
-
WARNING!! If you plan on making a branch of your own, Please add the .env file to the gitignore file to keep your API_Key off of a public repository
-
Run the following command 'npx prisma migrate dev --name init` to create a SQLite database (Note: This may take a few minutes to run the seed.js file):
-
Finally, start the server by running:
npm start
-
This will start the server running on port 3001
- Continuing with the setup of your project, follow these additional steps:
- Open a separate terminal and navigate to the "client" directory within your project. Run the following command
npm install
to install the client-side dependencies: - Once the dependencies are installed, start the app by running the following command in the same terminal:
npm start
- This will start the client side running on port 3000
- Open up a web browser and navigate to
localhost:3000
to run the application
-
On home page register for free account or login
-
Once on dashboard, click dropdown to select a catagory of books and hit Search NYT best sellers button.
-
A List of books will appear, click on a book to see more details.
-
Here you can see the weekly rankings of each book, visit links to buy the book, or add book to libary.
-
Click Add to library on a book.
-
On header click 'Profile" to visit your personal profile.
-
Here you can edit your location, bio, and hobbies.
-
Any books you add from the dashboard will appear here.
-
Clicking on a book will allow you to add a rating out of 10 and a small review of the book so other users know what you thought.
-
Your profile also shows your recent activity in the Forum.
- Clicking on the Fourm in the header brings you to the public fourm.
- You can browse the catagories set up by the seed.js file when migrating the database.
- The seed file created 100 random users from https://www.randomuser.me API
- Each Catagory was seeded with 11 random post using the https://uselessfacts.jsph.pl/api/v2/facts/random" API
- Each Post was seeded with 11 random comments using the same useless facts API
- Feel free to create your own post or add a comment to one.