https://github.com/maruf-pfc/readify
Readify is a full-stack bookstore application built with Next.js, Express, PostgreSQL, and TypeScript. It features secure, role-based authentication for browsing, purchasing, and managing books.
https://github.com/maruf-pfc/readify
bookstore bookstore-api rest-api
Last synced: 10 months ago
JSON representation
Readify is a full-stack bookstore application built with Next.js, Express, PostgreSQL, and TypeScript. It features secure, role-based authentication for browsing, purchasing, and managing books.
- Host: GitHub
- URL: https://github.com/maruf-pfc/readify
- Owner: maruf-pfc
- License: apache-2.0
- Created: 2025-08-22T19:16:18.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-24T20:43:40.000Z (10 months ago)
- Last Synced: 2025-08-24T23:24:41.617Z (10 months ago)
- Topics: bookstore, bookstore-api, rest-api
- Language: TypeScript
- Homepage: https://readify-bookshop.vercel.app
- Size: 405 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 📚 Readify – Full-Stack Bookstore Application
Readify is a modern full-stack Bookstore application designed to provide a seamless experience for readers and administrators.
Built with **Express.js, TypeScript, PostgreSQL** on the backend and **Next.js, TailwindCSS, ShadCN** on the frontend.
## ✨ Features
### 🔹 Backend (API)
- User authentication with JWT & refresh tokens
- Role-based access control (RBAC) – Admin, User
- CRUD operations for books, categories, and users
- Order & cart management
- Input validation with **Zod**
- PostgreSQL database
- Auto-generated API docs with **Swagger**
### 🔹 Frontend (Client)
- Built with **Next.js 15 & TypeScript**
- Modern UI with **TailwindCSS & ShadCN**
- Authentication & protected routes
- Browse, search, and filter books
- Shopping cart & checkout system
- Admin dashboard for managing users, books, and orders
- Responsive, SEO-friendly design
## 🛠 Tech Stack
**Backend**
- Node.js, Express.js, TypeScript
- PostgreSQL
- Zod for validation
- JWT for auth
- Swagger for API docs
**Frontend**
- Next.js 15, React, TypeScript
- TailwindCSS, ShadCN, Framer Motion
- Axios for API calls
- React Query / TanStack Query for data fetching
## 📂 Project Structure
```txt
readify/
│── server/ # Backend (Express + TS + PostgreSQL + Drizzle)
│ ├── src/
│ └── ...
│
│── client/ # Frontend (Next.js + TailwindCSS + TS + ShadCN)
│ ├── app/
│ ├── components/
│ └── ...
│── LICENSE
│── README.md # Project documentation
```
## 🚀 Getting Started
### 1. Clone the repo
```bash
git clone https://github.com/maruf-pfc/readify.git
cd readify
```
### 2. Setup Backend
```bash
cd server
cp .env.example .env
bun install
bun run dev
```
- Visit Swagger API docs → [http://localhost:5555/docs](http://localhost:5555/docs)
### 3. Setup Frontend
```bash
cd ../client
cp .env.example .env
pnpm install
pnpm run dev
```
- Visit frontend → [http://localhost:3000](http://localhost:3000)
## 📸 Screenshots (TODO)
- Home page (Upcoming)
- Book details (Upcoming)
- Admin dashboard (Upcoming)
## 🛡️ Security
- Hashed passwords with bcrypt
- JWT-based authentication
- Role-based access control
## 🤝 Contributing
Pull requests are welcome! For major changes, open an issue first to discuss what you’d like to improve.
## 📜 License
This project is licensed under the Apache License.