/Salty-Startup

Alejandro, Andrew, Hayden, Jacob, Jason, Michael, Patrick

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Logo

At Book Squid, your bookshelf is not only made of rich mahogany and filled with many leatherbound books -- it's virtual!

Table of Contents

  1. Overview
  2. Usage
  3. Installation Instructions
  4. Meet the Salty Startup!
  5. Technologies
  6. Roadmap
  7. License

Overview

Not only will you be able to look up any book that you have read or are interested in, but you can add those books to your personalized reading lists and share them with the world. You can also write reviews and leave ratings for others to read so that they have a more accurate idea of the book rather than judging a book by its cover. Our front page also shares our users' recommendations and reviews to the books they read, that way readers will always find something to read!

Usage

When the user enters the URL, they'll be brought to Book Squid's main landing page:

landing page

From the main landing page, the user is able to either begin immediately searching for books, click on a book that's being featured, or sign in and access their profile. Let's see what the profile will look like!

profile page

On each page, there will be a search bar that allows the users to see the results of a book title, author, or keyword:

search results page

Lastly, when the user clicks on any book features in the results or under a reading list, they'll see the details and reviews of that book:

book page

Installation

  1. Clone repo down and open two terminals. One terminal for the '/bookclub-frontend' directory and one terminal for '/bookclub-backend' directory.

  2. In both terminals run npm install

  3. Create .gitignore file (if not already created) in /bookclub-backend and paste the following:

/node_modules
/config.js
/serviceAccount.json
  1. Create .gitignore file (if not already created) in /bookclub-frontend and paste the following:
/node_modules
/.pnp
.pnp.js
/coverage
/build
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*
  1. Create config.js file in '/bookclub-backend' and paste the following: (this is for accessing the mongoDB Atlas cloud database that is already deployed using mongoose.connect() already written in '/bookclub-backend/index/js')
const atlasPassword = '[REDACTED]'
module.exports = atlasPassword;
  1. [OPTIONAL] If you want to connect to this database in MongoDB Compass insert this into the connection SRV string input: (no quotations around this string, just like this... and obviously don't share this string anywhere online or the password)
mongodb+srv://[REDACTED]:[REDACTED]@bookclub.mgvz6.mongodb.net/test?authSource=admin&replicaSet=atlas-10200k-shard-0&readPreference=primary&appname=MongoDB%20Compass&ssl=true
  1. create serviceAccount.json file in '/bookclub-backend' and drag and drop this zip file into it: (do not save this zip file anywhere online and double check that your serviceAccount.json file is in the .gitignore file for '/bookclub-backend')

JSON FOLDER IN DISCORD

Do not post this JSON file from the zip anywhere on the internet or in a file that gets pushed to GitHub

  1. After you have this set up you need to have two terminals open One terminal for the '/bookclub-frontend' directory and one terminal for '/bookclub-backend' directory

In the frontend terminal run $ npm start

In the backend terminal run $ npm run dev

Meet the Salty Startup!

Documents

Engineering Journals

Technologies

Languages JavaScript NodeJS HTML5 CSS3
Frameworks & Libraries React Express.js Bootstrap
Hosting AWS
Authentication Firebase
Databases MongoDB
Testing Jest

Roadmap

What future enhancements are planned? What is the current status of the project? Is it being actively maintained?

License

If open source, state how the project is licensed.