Skip to content

Full-stack application that highlights my expertise in React, Redux, TypeScript, OAuth 2.0, and NodeJS technologies.

Notifications You must be signed in to change notification settings

rochesso/Social-BookShelf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Social-BookShelf

To be part of my professional portfolio, I have created this full-stack application that highlights my expertise in React, Redux, TypeScript, OAuth 2.0, and NodeJS technologies. This project reflects my passion for technology and my dedication to enhancing my skills in full-stack development. As a practice project, it demonstrates my ability to deliver high-quality products and my commitment to staying current with the latest industry trends and advancements.

Description

Social Bookshelf is a website where you can find books, add them to your collection, rate them, mark them as favorites, update your reading progress and save your current page. It's like a virtual bookshelf where you can keep track of all the books you read.

In addition, Social Bookshelf allows you to browse the reading choices of other users, follow their accounts, and add their literary picks to your personal collection.

Initial Configuration

Server Folder

As this project uses mongodb database, google books api and google authentication, you will need to configure the following variables in a .env file inside the server folder:

Obs.: I will leave the variables with some examples but you need to change with your details.

  • Port for the server:
PORT=8000
  • MongoDB database:
MONGO_URL='mongodb://localhost:27017/social-bookshelf'

MONGO_URL can be a local database or MongoDB Atlas.

  • URL where your front end is running:
CLIENT_URL='http://your-react-client.com' or 'http://localhost:3000'
GOOGLE_BOOKS_KEY='type your key here'
GOOGLE_BOOKS_API='https://www.googleapis.com/books/v1/volumes'
GOOGLE_CLIENT_ID='Your google client id'
GOOGLE_CLIENT_SECRET='Your google client secret'
  • Cookie keys for cookie-session:
COOKIE_KEY_ONE='qWERadfAgASdgGHwhweR' 
COOKIE_KEY_TWO='adsFsdfASDfasDFFSAfg'

Obs.: These cookie keys can be any random sequence of characters.

Client Folder

Inside the client folder you will need to create another .env file with the following variable:

  • URL where your api/server is running:
REACT_APP_API_URL='http://your-server.com:8000/api/v1' or 'http://localhost:8000/api/v1'

Installation and Running

To install and run the project, execute the following commands in your terminal:

Inside the client folder:

  • npm install

  • npm run build

Running the Client:

  • npm run watch-client

Inside the server folder:

  • npm install

  • npm run build

Running the server:

  • npm run watch-ts

  • npm run watch-server

About

Full-stack application that highlights my expertise in React, Redux, TypeScript, OAuth 2.0, and NodeJS technologies.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published