A comprehensive e-commerce mobile application built with React Native and Expo, featuring a robust Node.js backend API. This project was developed as part of a hackathon program.
QuickCard is a full-stack e-commerce solution consisting of:
- QuickCart: A React Native mobile application built with Expo
- Server: A Node.js REST API backend with comprehensive e-commerce functionality
QuickCard/
βββ QuickCart/ # React Native Mobile App (Frontend)
β βββ app/ # App navigation and routing
β βββ components/ # Reusable UI components
β βββ assets/ # Images, fonts, and static assets
β βββ constants/ # App constants and color palette
β βββ scripts/ # Utility scripts
βββ Server/ # Node.js Backend API
βββ controller/ # API route controllers
βββ model/ # Database schemas
βββ route/ # API route definitions
- π Home Dashboard - Product browsing and discovery
- ποΈ Shopping Cart - Add, remove, and manage cart items
- π± Product Details - Detailed product information and reviews
- π Bookmarks - Save favorite products
- π€ User Authentication - Login, signup, and profile management
- π Security Features - Password reset and email verification
- π¦ Order Management - View orders, returns, and refunds
- π³ Payment Integration - Multiple payment methods
- ποΈ Vouchers & Deals - Discount codes and special offers
- π± Responsive Design - Optimized for various screen sizes
- π User Management - Registration, authentication, and profiles
- π¦ Product Management - CRUD operations for products
- π Cart Management - Shopping cart functionality
- π± Order Processing - Order creation and management
- π³ Payment Processing - Payment method handling
- ποΈ Voucher System - Discount and coupon management
- β Review System - Product reviews and ratings
- π Bookmark System - User favorites
- π§ Email Integration - Using SendGrid for notifications
- Node.js (v14 or higher)
- npm or yarn
- Expo CLI (
npm install -g @expo/cli) - Android Studio / Xcode (for device testing)
-
Navigate to Server directory:
cd QuickCard/Server -
Install dependencies:
npm install
-
Start the development server:
npm run server
The server will start on
http://localhost:3000(or your configured port)
-
Navigate to QuickCart directory:
cd QuickCard/QuickCart -
Install dependencies:
npm install
-
Start the Expo development server:
npm start
-
Run on different platforms:
# Android npm run android # iOS npm run ios # Web npm run web
- Install Expo Go on your mobile device
- Scan the QR code from the terminal
- The app will load on your device
- Start Android emulator or iOS simulator
- Run
npm run androidornpm run ios
- React Native - Mobile app framework
- Expo - Development platform and tools
- Expo Router - File-based routing
- React Navigation - Navigation library
- TypeScript - Type safety
- Jest - Testing framework
- Node.js - JavaScript runtime
- Express.js - Web framework
- MongoDB - Database (implied from schemas)
- Mongoose - ODM for MongoDB
- SendGrid - Email service
- Nodemon - Development tool
- Dashboard - Main app dashboard
- HomePageScreen - Landing page
- ProductDetailsScreen - Product information
- HomeCartScreen - Shopping cart
- LoginScreen/SignupScreen - Authentication
- ProfileScreen - User profile management
- OrderScreen - Order history and management
- User Management -
/api/users - Product Management -
/api/products - Cart Operations -
/api/cart - Order Processing -
/api/orders - Payment Handling -
/api/payments - Voucher System -
/api/vouchers - Reviews -
/api/reviews
npm start # Start Expo development server
npm run android # Run on Android
npm run ios # Run on iOS
npm run web # Run on web
npm test # Run tests
npm run lint # Lint codenpm run server # Start development server with nodemonThe app uses a custom color palette defined in constants/CollorPallet.tsx for consistent theming throughout the application.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Sanjeev
- GitHub: @sanjeev200009
If you encounter any issues, please report them on the GitHub Issues page.
- Built for Hackathon program
- Thanks to the React Native and Expo communities
- Special thanks to all contributors
Happy Shopping with QuickCard! πβ¨