This week focuses on enhancing the e-commerce web application developed in the previous week by adding authentication, user-specific interactions, and improving overall security. The emphasis is on implementing secure user authentication and authorization while expanding React state management techniques.
Finish previous courses
User authentication and authorization in web applications
Secure handling of user registration, login, and logout
Session management (stateless vs stateful approaches)
Security threats and mitigation strategies (e.g., CSRF attacks)
React Router for multi-page navigation
Advanced React state management using Context API and useReducer
Linking user accounts with shopping carts and order history
Database security and user data protection
Continue developing the e-commerce application with the following new features:
Implement user authentication (registration, login, logout)
Create user-specific shopping carts and order history
Implement session persistence
Secure the application against common web vulnerabilities
Enhance React state management using Context API and useReducer
Implement multi-page navigation using React Router
Implementing role-based access control (for admin functionalities)
Your project this week is continue work on the e-commerce shop you started last week and to add authentication and user specific interactions.
Before you start writing features you need to create a security plan. There should be a section in your README.md
that describes how you will secure your app and mitigate different potential attacks.
Will you store session info in a token (stateless) or in your database (stateful)?
How will you check a user’s identity (authentication)?
How will you control what actions a user can take (authorization)?
How will you mitigate Cross-site Request Forgery (CSRF) attacks?
As a shopper, I want to:
Log into my account using my email and password
Have my user session persist, so I don't have to log in every time
Log out of my session
These User Stories from last week should be updated to be linked to a shoppers account
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
As an admin, I want to:
Log into an admin section of the site
Add, edit and delete products
View and export reports on site analytics
Manage user accounts
These resources are helpful extra reading that may clarify or enhance concepts you’re learning in the main curriculum.