A cross-platform mobile bookstore app built with React Native (Expo), complete with a supporting backend to manage book listings, user accounts, and more.
- User Authentication: Sign up, login, and manage user sessions.
- Book Catalog: Browse books by categories, search, and apply filters.
- Book Details: View detailed information about each book, including title, author, description, cover image, and price.
- Wishlist & Cart: Add books to wishlist or shopping cart for future purchase.
- Order Management: Place orders and view order history.
- User Profile: Manage personal information and view past orders.
- Frontend: React Native (Expo)
- Backend: Node.js with Express.js
- Database: MongoDB
- Authentication: JWT (JSON Web Tokens)
- State Management: Zustand
- UI Components: React Navigation, React Nativewind ,LinearGradient
|
|
- Node.js (v14 or higher)
- Expo CLI (
npm install -g expo-cli) - MongoDB Atlas account (for cloud database) or local MongoDB setup
-
Clone the repository:([GitHub][5])
git clone https://github.com/Zaidshaikh2811/Native_BookStore.git cd Native_BookStore -
Install frontend dependencies:
cd mobile npm install -
Install backend dependencies:
cd ../backend npm install
-
Create a
.envfile in thebackenddirectory and add the following:MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret_key PORT=5000 NODE_ENV=development JWT_REFRESH_SECRET=your_jwt_refresh_secret JWT_EXPIRES_IN=your_jwt_expiration_time CLOUDINARY_CLOUD_NAME=your_cloudinary_name CLOUDINARY_API_KEY=your_cloudinary_api_key CLOUDINARY_API_SECRET=your_cloudinary_api_secret API_URL=your_backend_url EMAIL_USER=your_email EMAIL_PASS=your_email_password EMAIL_HOST=your_email_host EMAIL_PORT=your_email_port
Replace your_mongodb_connection_string with your MongoDB URI and your_jwt_secret_key with a secret key for JWT.
- (Optional) Set up Firebase or another service for social authentication if implemented.
-
Start the backend server:([GitHub][2])
cd backend npm start -
Start the frontend app:
cd mobile expo start
Scan the QR code with the Expo Go app on your mobile device to run the app.
Native_BookStore/
├── backend/ # Backend server (Node.js + Express)
│ ├── models/ # Mongoose models
│ ├── routes/ # API routes
│ ├── controllers/ # Route handlers
│ ├── middleware/ # Middleware functions
│ └── server.js # Entry point
└── mobile/ # Frontend app (React Native)
├── assets/ # Images and fonts
├── components/ # Reusable components
├── navigation/ # React Navigation setup
├── screens/ # App screens
└── App.js # Entry point
- Authentication: Users can register and log in using their email and password.
- Browsing: Navigate through categories and apply filters to find books.
- Wishlist & Cart: Add books to your wishlist or cart for future purchase.
- Orders: Place orders and view order history in your profile.
- Fork the repository.
- Create a new branch (
git checkout -b feature-name). - Make your changes.
- Commit your changes (
git commit -am 'Add new feature'). - Push to the branch (
git push origin feature-name). - Create a new Pull Request.
- GitHub: @Zaidshaikh2811
- Email: zaidshaikh2811@gmail.com

