You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Build an e-comerce system to satisfy the following conditions
There are two types of users in the system, admin and customer.
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
Admins can do the following actions:
Sign In
CRUD products
View/Update orders
View/disable a user
Create an admin user
At the beginning, the system has an admin user
All passwords should be hashed
Use JWT for Authorization and Authentication
Only use the fundamental components with your own styles from React Native like: View, Text, Touchable*, button, Flatlist/ScrollView, TextInput, KeyboardAvoidingView, Image, ImageBackground
Do not use any styling UI kits like React Native Element...
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 starsfeedbacks: [{_id: ObjectIdstars: Number,//1, 2, 3, 4, 5comment: 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 cashtime: String,status: String,//ordered, delivered, or canceled}
About
Created a comprehensive online shopping platform using React Native, NodeJS Express, MongoDB, JWT, and JavaScript.