https://github.com/ahnafmottaki/open-library
A full-stack gardening tips platform where users can explore books, borrow books, connect with others. The site supports authentication, CRUD functionalities, filtering, and user-specific experiences.
https://github.com/ahnafmottaki/open-library
css3 daisyui express firebase html5 nodejs react react-router tailwindcss
Last synced: 3 months ago
JSON representation
A full-stack gardening tips platform where users can explore books, borrow books, connect with others. The site supports authentication, CRUD functionalities, filtering, and user-specific experiences.
- Host: GitHub
- URL: https://github.com/ahnafmottaki/open-library
- Owner: ahnafmottaki
- Created: 2025-06-25T04:23:02.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-25T11:32:12.000Z (12 months ago)
- Last Synced: 2025-06-25T12:52:42.786Z (12 months ago)
- Topics: css3, daisyui, express, firebase, html5, nodejs, react, react-router, tailwindcss
- Language: HTML
- Homepage: https://openlibrary-31653.web.app/
- Size: 1.4 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ Open Library

## ๐งพ Overview
Open Lobrary is a full-stack library platform where users can explore books, borrow books, connect with others. The site supports authentication, CRUD functionalities, filtering, and user-specific experiences.
---
## Live site & Relavent links
**Live Site URL**: [https://openlibrary-31653.web.app/](https://openlibrary-31653.web.app/)
## ๐ Tech Stack
### ๐น Frontend
- React.js
- Tailwind CSS
- React Router DOM
- Firebase Authentication
### ๐น Backend
- Node.js
- Express.js
- MongoDB
- JWT (JSON Web Token)
---
## ๐ Core Features
- ๐ User Authentication (Login/Register with Firebase)
- ๐ฆ Dynamic Content Fetching (via API)
- ๐งฉ JWT-Protected Routes
- ๐ ๏ธ REST Api
- ๐ฑ Responsive Mobile-first Design
---
## ๐ฆ Dependencies
### Client (`/client`)
```json
{
"react": "^18.x.x",
"react-dom": "^18.x.x",
"react-router-dom": "^6.x.x",
"axios": "^1.x.x",
"tailwindcss": "^3.x.x",
"firebase": "^10.x.x"
}
```
### Server (`/server`)
```json
{
"express": "^4.x.x",
"mongoose": "^7.x.x",
"cors": "^2.x.x",
"dotenv": "^16.x.x",
"jsonwebtoken": "^9.x.x"
}
```
## ๐ป How to Run Locally
### 1. Clone the Repo
```bash
git clone https://github.com/FreeCodeJunction/open-library.git
cd open-library
```
### 2. Install Dependencies
- client
```bash
cd client
npm install
```
- server
```bash
cd ../server
npm install
```
### 3. Setup Environment Variables
- client
```
VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_auth_domain
```
- server
```
PORT=5000
MONGODB_URI=your_mongo_uri
JWT_SECRET=your_jwt_secret
```
### 4. Start Servers
- server
```bash
cd server
npm start
```
- client
```bash
cd ../client
npm run dev
```
### 5. Visit
```
http://localhost:3000
```