A web application that enables users to discover, list, and exchange books with other readers. The platform facilitates book sharing through an intelligent matching system that connects users based on their reading preferences and available books. visit : https://book-exchange-chi.vercel.app/
- Secure registration and login system
- User profile management
- Session management and secure logout
- List books available for exchange
- Edit or remove book listings
- Add detailed book information:
- Title
- Author
- Genre
- Price
- Cover image
- Browse available books
- Explore detailed book cards
- Smart matching algorithm based on:
- User preferences
- Reading history
- Book availability
- Match suggestions
- Exchange request system
- React.js
- CSS Library (Tailwind CSS)
- Redux for state management
- Redux thunk / Axios for API requests
- Node.js with Express
- Prisma and MongoDB for database
- JWT for authentication
- MVC architecture
- Frontend: Vercel
- Backend: Render
- Database: MongoDB Atlas
node >= 14.0.0
npm >= 6.0.0
- Clone the repository
git clone https://github.com/Abhiifour/book-exchange.git
cd book-exchange
- Install dependencies
# Install frontend dependencies
cd frontend
npm install
# Install backend dependencies
cd ../backend
npm install
- Environment setup
# Create .env file in backend directory
cp .env.example .env
# Update .env with your configuration
DATABASE_URL="your_url"
- Start development servers
# Start backend server
cd backend
node dist/index.js
# Start frontend server
cd frontend
npm run dev
The application implements comprehensive error handling for:
- Invalid user inputs
- Duplicate book listings
- Failed API requests
- Authentication errors
- Database connection issues
- JWT authentication
- Input sanitization
- CORS configuration