Skip to content

Created a comprehensive online shopping platform using React Native, NodeJS Express, MongoDB, JWT, and JavaScript.

Notifications You must be signed in to change notification settings

whuan132/An-E-Comerce-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CS571-2023-05-Extra-Project

Extra Project

Build an e-comerce system to satisfy the following conditions

  • There are two types of users in the system, admin and customer.
  1. Customers can do the following actions:
  • Sign Up
  • Sign In
  • View list of products
  • Add products to the cart
  • Review/update the current products in the cart
  • Place an order by using credit card or cash
  • Check the status of the existing orders
  • Return an order
  • Add review for products
  1. Admins can do the following actions:
  • Sign In
  • CRUD products
  • View/Update orders
  • View/disable a user
  • Create an admin user
  1. At the beginning, the system has an admin user
  2. All passwords should be hashed
  3. Use JWT for Authorization and Authentication
  4. Only use the fundamental components with your own styles from React Native like: View, Text, Touchable*, button, Flatlist/ScrollView, TextInput, KeyboardAvoidingView, Image, ImageBackground
  5. If you want to have the navigation, please use React Native Navigation: https://reactnavigation.org/
  6. If you want to host a web component, please use webview: https://github.com/react-native-webview/react-native-webview
  7. Do not use any styling UI kits like React Native Element...
  8. You can upload the images to AWS storage - S3

Technologies

  • Backend: NodeJS Express, MongoDB
  • Frontend: React Native
  • Payment method: Stripe or anything you know

Database

User

{
    _id: ObjectId,
    email: String,
    password: String,
    role: String, //customer or admin,
    time: String,
    disable: Boolean, //A disable user cannot login to system
}

Product

{
    _id: ObjectId,
    name: String,
    images: String,
    category: String,
    price: Number,
    review: {
        score: Number, //average of all stars
        feedbacks: [
            {
                _id: ObjectId
                stars: Number,//1, 2, 3, 4, 5
                comment: String
            }
        ]
    },
    time: String,
}

Order

{
    _id: ObjectId,
    userId: ObjectId,
    products: [
        {
            name: String,
            price: Number,
            quantity: Number
        }
    ],
    total: Number, // sum of all (product.price * quantity)
    payment: String, //card or cash
    time: String,
    status: String, //ordered, delivered, or canceled
}

About

Created a comprehensive online shopping platform using React Native, NodeJS Express, MongoDB, JWT, and JavaScript.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published