A full-stack web application built with modern technologies for seamless user experience and robust backend functionality.
- React - UI library for building user interfaces
- Tailwind CSS - Utility-first CSS framework for styling
- LocalStorage and jwt-token - Client-side data persistence
- Express.js - Fast, unopinionated web framework for Node.js
- MongoDB - NoSQL database for data storage
- Mongoose - MongoDB object modeling for Node.js
- JWT - JSON Web Tokens for authentication
- bcrypt - Password hashing library
- Zod - TypeScript-first schema validation
- Multer - For holding pdf and upload to Cloudinary
- Docker - Containerization platform
- Docker Compose - Multi-container Docker applications
-
Clone the repository
git clone https://github.com/DivyanshuVortex/BookOMedia.git cd BookOMedia -
Run with Docker Compose
docker compose up
-
Access the application
- Frontend: http://localhost:5173
- Backend API: http://localhost:3000
- Node.js (v16 or higher)
- MongoDB (running locally or MongoDB Atlas)
- npm
-
Clone the repository
git clone https://github.com/DivyanshuVortex/BookOMedia.git cd BookOMedia -
Install backend dependencies
cd backend npm install -
Create environment file
cp .env.example .env
-
Configure environment variables (see Environment Variables scroll down)
-
Start the backend server
npm run dev
-
Install frontend dependencies
cd frontend npm install -
Start the development server
npm start
-
Access the application
- Frontend: http://localhost:5173
- Backend API: http://localhost:3000
Create a .env file in the backend directory with the following variables:
# Server Configuration
PORT=3000
MONGO_URL="yours"
GOOGLE_BOOKS_API_KEY=yours
PORT=3000
CLOUDINARY_CLOUD_NAME=yours
CLOUDINARY_API_KEY=yours
CLOUDINARY_API_SECRET=yours- User Authentication - Secure login/signup with JWT tokens
- Password Security - Bcrypt hashing for password protection
- Data Validation - Zod schema validation for API requests
- Responsive Design - Mobile-first design with Tailwind CSS
- Persistent Storage - LocalStorage for client-side data
- MongoDB Integration - Mongoose ODM for database operations
- Containerized - Docker support for easy deployment
- File Upload System - Implement image/document upload functionality
- Cloud Deployment - Deploy to AWS/Heroku/Vercel