Your project this week is TBC
Learners will develop an end-to-end dynamic e-commerce web application where users can browse and purchase products online.
The frontend of this project will be built using React. For the backend, it will use Node.js and Express to handle server-side functionality. User accounts and product data will be stored in a SQLite database.
Your project for the next week will be to develop a Express backend connected to a SQLite database and linked to a React frontend. Your UI should provide methods so that users can search for and display information about items and add them to a shopping cart. It is up to you to determine the process and order you take to achieve this, but should plan this carefully and attempt to anticipate any hurdles you approach will encounter.
Before you start writing features you need to design the schema for your data. Think about what different things your app needs to store, how they relate to each other, and how you can avoid duplicating information. Record your schema in your README.md
using Markdown tables. Consider embedding a diagram to help visualise the relationships.
What kinds of data relationships are there?
What’s a foreign key? How can they help us design schemas with relational data?
As a shopper, I want to:
See a homepage with content when I log in
Be able to navigate between different pages of the app
View a list of products when I visit the products page
Click on a product to view more details in a new page
Search for products by name or description and view product listings with images, descriptions and reviews
Add products to a shopping cart
View and edit items in my shopping cart
Complete the checkout process to "purchase" products in my cart
See confirmation when an order is placed successfully
View previous orders and order history
Complete checkout and payments to simulate purchasing products
Please name your repo following this template: PRO04_Name1_Name2_Name3_Name4