Skip to content

sanjeev200009/ReactNative-QuickCard-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›’ QuickCard - React Native E-commerce App

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.

πŸ“± Project Overview

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

πŸ—οΈ Project Structure

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

✨ Features

Mobile App (QuickCart)

  • 🏠 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

Backend API (Server)

  • πŸ” 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

πŸš€ Quick Start

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn
  • Expo CLI (npm install -g @expo/cli)
  • Android Studio / Xcode (for device testing)

Backend Setup

  1. Navigate to Server directory:

    cd QuickCard/Server
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run server

    The server will start on http://localhost:3000 (or your configured port)

Frontend Setup

  1. Navigate to QuickCart directory:

    cd QuickCard/QuickCart
  2. Install dependencies:

    npm install
  3. Start the Expo development server:

    npm start
  4. Run on different platforms:

    # Android
    npm run android
    
    # iOS
    npm run ios
    
    # Web
    npm run web

πŸ“± Running the App

Using Expo Go

  1. Install Expo Go on your mobile device
  2. Scan the QR code from the terminal
  3. The app will load on your device

Using Emulator

  1. Start Android emulator or iOS simulator
  2. Run npm run android or npm run ios

πŸ› οΈ Tech Stack

Frontend (QuickCart)

  • 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

Backend (Server)

  • Node.js - JavaScript runtime
  • Express.js - Web framework
  • MongoDB - Database (implied from schemas)
  • Mongoose - ODM for MongoDB
  • SendGrid - Email service
  • Nodemon - Development tool

πŸ“ Key Components

Mobile App Components

  • 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

API Endpoints

  • 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

πŸ”§ Development Scripts

QuickCart (Frontend)

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 code

Server (Backend)

npm run server     # Start development server with nodemon

🎨 Design System

The app uses a custom color palette defined in constants/CollorPallet.tsx for consistent theming throughout the application.

πŸ‘₯ Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Sanjeev

πŸ› Issues

If you encounter any issues, please report them on the GitHub Issues page.

πŸ™ Acknowledgments

  • Built for Hackathon program
  • Thanks to the React Native and Expo communities
  • Special thanks to all contributors

Happy Shopping with QuickCard! πŸ›’βœ¨

About

This is the frontend of the QuickCart e-commerce app, built with React Native. It handles the user interface and interactions.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors