Skip to content
/ library Public

A fullstack library application. Fullstack platform built with Reactjs, Express, MongoDB & Reduxtoolkit. This app includes authentication, books, bookings, and many more features. Users can view books, log in with google, and login user can borrow, deleted, and update their own profiles.

Notifications You must be signed in to change notification settings

v-limo/library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Description

Fullstack platform built with Reactjs, Express, MongoDB & Reduxtoolkit. This app includes authentication, books, bookings, and many more features. Users can view books, log in with google, and login user can borrow, deleted, and update their own profiles.

ps. this project is a solution to intergrify fullstack assignment

Features

  • Users can;

    • log in with google
    • view and borrow books
    • update and or delete their own accounts
    • return borrowed books
    • logout profiles
  • Admins can;

    • delete and add books
    • update books
    • delete and or update users
    • delete, update or add authors
  • and more...



Live demo

//image here

  • A live demo of the app is hosted on Heroku.

Due to demo reasons and Heroku free terms, if an app receives no web traffic in a 30-minute period, it will sleep. Therefore, during the first launch, the application may take longer to load than usual, approximately 15 - 20 seconds. So please be patient and wait for the app to launch. Subsequent launches will be relatively fast.

_Live demo of the client is hosted on render

Technology stack

FrontEnd

  • React
  • React Hooks
  • React router
  • Redux Toolkit
  • Mui
  • TypeScript

Backend

  • Node
  • Express
  • JWT
  • MongoDB with mongoose
  • Heroku hosting

Usage

Clone this repository to the desired location

git clone https://github.com/v-limo/libbra-app.git

Env Variables

Create a .env file in the api root and add the following

NODE_ENV = development
PORT = 5000
SECRET_KEY = your secret key
MONGO_URI = your mongodb uri
CLIENT_ID = your google client id
CLIENT_SECRET =  your google client secret

cd to client, create a .env file in the root

cd client

cd to api, create a .env file in the root

cd api

and add the following


REACT_APP_API_KEY = google api key
REACT_APP_API_GOOGLE_CLIENT_ID = google client id
REACT_APP_CLIENT_ID=  google client id

Install Dependencies (client & Api)

npm install
cd client
npm install

Run

# Run Api (:5000)
cd api
npm run start:dev
# Run client
cd client
npm start

Build & Deploy

# Create client prod build
cd client
npm run build

Contributing

Contributions are highly appreciated. In general, I follow the "fork-and-pull" Git workflow.

  1. Fork this repo
  2. Clone the project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your fork
  5. Submit a Pull request so that I can review your changes

NOTE: Be sure to merge the latest from "upstream" before making a pull request!

License

MIT license

About

A fullstack library application. Fullstack platform built with Reactjs, Express, MongoDB & Reduxtoolkit. This app includes authentication, books, bookings, and many more features. Users can view books, log in with google, and login user can borrow, deleted, and update their own profiles.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages