Bookify
An Online Audiobook Streaming Website made using MERN Stack, Tailwind CSS, Firebase for Google authentication and Storage, and Razorpay for Payment Integration
View Demo
·
Razorpay Test Cards (For testing payment gateway)
Table of Contents
About The Project
Built With
Getting Started
To get a local copy up and running follow these simple steps.
Prerequisites
- Make sure you have latest version of npm installed
- npm
npm install npm@latest -g
- npm
- Make sure you have your accounts set up on MongoDB, Firebase and Razorpay
Installation
- Create project on Firebase and MongoDB
- Make payment instance on Razorpay (preferably in Test Mode)
- Get your API keys
- Database String from MongoDB
- Firebase Config keys from Firebase (Project Settings -> General)
- Generate API Keys on Razorpay (Settings -> API Keys -> Generate API Keys)
- Clone the repo
git clone https://github.com/shreyashkadam/bookify.git
- Install NPM packages
npm install
- Create
.env
file in both/client
and/server
folder - Copy the content from
.example.env
files in both/client
and/server
folder and paste it in the respective.env
files created in step 6. - Fill your API keys in newly created
.env
files. (You shouldn't update variable names, just update the value) - Download private key from Firebase and rename it to
serviceAccountKey.json
(Project Setting -> Service Accounts -> Generate Private Key) - Put your
serviceAccountKey.json
in/server/config
folder
Usage
- Install packages and dependencies
npm install
- Start the server
cd server/ yarn dev
- Start Client
cd client/ yarn start
Features
User Role
Payment Gateway
Audiobook Player
Search Filter
Login Page
Google Authentication
Admin Role
Admin Dashboard
Manage Users
Manage Audiobooks
Add Audiobooks
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Contact
Shreyash Kadam - @linkedin-handle - [email protected]
Project Link: https://github.com/shreyashkadam/bookify