E-Commerce Application
A simple e-commerce website built with an ExpressJS backend and React frontend.
View live siteBackend
Node server written with Express. Prisma ORM interfaces with a PostgreSQL database storing products, users, user sessions, and user carts. Express-session and Passport.js manage user sessions and authentication. Unit and integration tests are written with Jest, with SuperTest for requests. The database is cleared before each test or between test suites depending on test requirements. Two Prisma schema files correspond to a "public" schema for development and a "test" schema for testing; running "dev-init" or "test-init" resets the given database and prepares it for development or testing.
Frontend
React application using React Router and Styled Components. Allows a user to view a feed of products. A user can sign in or register to add products to their cart. Product quantity can be updated from the cart page. User profile details can be updated from the profile page.
To do
Checkout functionality, viewing prior orders, admin GUI functionality, third-party login.