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
-
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...
- 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
- React
- React Hooks
- React router
- Redux Toolkit
- Mui
- TypeScript
- Node
- Express
- JWT
- MongoDB with mongoose
- Heroku hosting
Clone this repository to the desired location
git clone https://github.com/v-limo/libbra-app.git
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
npm install
cd client
npm install
# Run Api (:5000)
cd api
npm run start:dev
# Run client
cd client
npm start
# Create client prod build
cd client
npm run build
Contributions are highly appreciated. In general, I follow the "fork-and-pull" Git workflow.
- Fork this repo
- Clone the project to your own machine
- Commit changes to your own branch
- Push your work back up to your fork
- 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!
MIT license