BookShare is a web application designed to facilitate the sharing and exchange of books among users. Built with Next.js, React, Firebase, and Tailwind CSS, the app provides a modern, user-friendly interface for managing personal libraries, discovering new books, and connecting with other book enthusiasts.
- User Profiles: View and manage your profile, including your book collection and books available for exchange.
- Book Exchange: List books for exchange, browse books from other users, and initiate exchanges.
- Book Search & Recommendations: Search for books by title or author, and receive personalized recommendations.
- Reviews & Ratings: Leave reviews and ratings for books you've read.
- Authentication: Secure login and session management.
- Responsive Design: Optimized for both desktop and mobile devices.
- Frontend: Next.js, React, Tailwind CSS
- Backend: Firebase (Firestore, Authentication)
- Testing: Jest
- Clone the repository:
git clone <repository-url> cd bookshare-app
- Install dependencies:
pnpm install # or npm install - Configure Firebase:
- Copy
env.exampleto.env.localand fill in your Firebase credentials. - Update
firebase/config.tsif needed.
- Copy
- Run the development server:
The app will be available at http://localhost:3000.
pnpm dev # or npm run dev
dev- Start the development serverbuild- Build the application for productionstart- Start the production serverlint- Run ESLinttest- Run tests with Jesttest:coverage- Run tests with coverage report
app/- Main application code (pages, components, hooks, layouts, etc.)firebase/- Firebase configurationpublic/- Static assets__tests__/- Test files
BookShare Mobile is a cross-platform mobile application (Android & iOS) built with Expo, React Native, and Firebase. It allows users to access BookShare features on the go, including book exchange, library management, and social features, with a native mobile experience.
- User Authentication: Secure login and registration (email, Google, Facebook)
- Book Exchange: Browse, add, and manage books for exchange
- Personal Library: Manage your own book collection
- Contacts & Invites: Connect with other users, send/receive invites
- Notifications: Stay up to date with exchanges and invites
- Reviews & Ratings: Leave and view book reviews
- Modern UI: Built with React Native, NativeWind (Tailwind CSS for RN), and Expo
- Framework: Expo, React Native
- UI: NativeWind (Tailwind CSS for React Native)
- State Management: React Context
- Backend: Firebase (Firestore, Authentication)
- Navigate to the mobile app folder:
cd bookshare-app-mobile - Install dependencies:
npm install # or pnpm install - Configure Firebase:
- Copy
firebase/config.example.tstofirebase/config.tsand fill in your Firebase credentials. - (Optional) Copy
firebase/firebase.config.example.tstofirebase/firebase.config.tsif needed.
- Copy
- Start the app:
Then follow Expo CLI instructions to run on Android/iOS simulator or a real device.
npm start # or pnpm start
This is not an open source license.
The code is provided for viewing and educational purposes only. All rights reserved.
Copying, modifying, distributing, or using the code in whole or in part without the author's written permission is strictly prohibited.