A mobile e-commerce application built with React Native and Expo, featuring a complete shopping experience from browsing to checkout.
- JWT-based authentication
- User registration and login
- Persistent login with AsyncStorage
- Protected routes
- Browse product catalog
- Search functionality with debouncing
- Product categorization
- Detailed product views
- Redux-based cart management
- Add/Remove items
- Quantity adjustments
- Cart total calculation
- Flying animation for cart additions
- Cart persistence across sessions
- Multiple delivery address management
- Order summary
- Payment integration (Razorpay)
- Order confirmation
- Order history tracking
- View and edit user details
- Manage delivery addresses
- Track order history
- Order status tracking
- Logout
- React Native with Expo
- Redux for state management
- AsyncStorage for data persistence
- React Navigation
- Axios for API calls
- Node.js & Express
- MongoDB with Mongoose
- JWT authentication
- RESTful API architecture
- @reduxjs/toolkit
- react-native-razorpay
- react-native-reanimated
-
Clone the repository
-
Install dependencies: ```bash npm install cd api && npm install ```
-
Configure environment variables:
- Create .env file with:
MONGODB_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret RAZORPAY_KEY=your_razorpay_key
- Start the servers:
- Backend:
cd api && npm start - Frontend:
npm start
- POST /register - User registration
- POST /login - User authentication
- GET /products - List products
- GET /products/:id - Get product details
- POST /orders - Create order
- GET /orders/:userId - Get user orders
- POST /addresses - Add address
- GET /addresses/:userId - Get user addresses
- Fork the repository
- Create your feature branch
- Submit a pull request
MIT License
© 2025 E-commerce Mobile App