Final assignment for McGill Comp 307 - Introduction to Web development. A marketplace web app built using React and Django.
Zachary Probst, Steven Shao and Trisha Winterson Chagnon
- Frontend (react)
a. Install node.js (> 12.16.1) , npm (> 6.13.4)
b. install dependencies in Frontend/gui-react/package.json using npm install
c. run frontend application on localhost:3000 using npm start (in gui-react folder)
- Backend
a. Assume already installed: python3, redis, pip3
b. Install dependencies: (we have included venv, so please try skipping this step)
i. Cd to /Backend (then the following in terminal)
ii. python3 -m venv venv
iii. source venv/bin/activate
iv. pip3 install requirements.txt
c. To run (in terminal):
i. redis-server
ii. python3 manage.py runserver
- Login:
a. Because mailgun is configured to our emails, you cannot register properly. Please email me (steven.shao@mail.mcgill.ca) so I can add you to mailgun.
b. You can login to our app with existing user:
i. Username: steven.shao@mail.mcgill.ca
ii. Password: password
Universities do not have online marketplaces for students to easily and securely buy, sell and exchange items.
- As a student, I would like to buy, sell and exchange items within my university.
- As a buyer, I would like to see a list of all items for sale.
- As a buyer, I would like to add items to cart and checkout online.
- As a buyer, I would like to see my purchase history.
- As a student, I would like to chat with other students.
- As a seller, I would like to add, modify or remove product listings, and see all of my listings.
- Registration page Email validation during registration using MailGun.
- Product listing page showing all items for sale. Users can add items to cart.
- Cart page showing total price. Users can checkout using PayPal or Stripe.
- Purchase history page showing purchases.
- Chat page for each user. Other users can join and leave messages. (In my opinion this is easier to implement for the frontend because we don't need different tabs for chats with different users).
- Control panel page that allows users to list products to sell (add, update and delete). All products belonging to the user are shown on this page.
- Login page
- Registration Page
- Product listing page
- Cart page
- Purchase history page
- Chat page
- Control panel page
- Research phase
- Date: February 13, 2020
- Steven: setting up Django backend, account management, product picture
- Trisha: Google Maps API, chat/websocket
- Zach: UI, Cart feature cache
See Word doc under Documentation for more details.