E-Commerce Application


A simple e-commerce website built with an ExpressJS backend and React frontend.

Check out e-commerce

Backend

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. Testing Unit and integration tests are written with Jest. SuperTest is used 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" will reset the given database and prepare 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, view prior orders, Admin gui functionality, third party login

Angular E-Commerce Application


A rewrite of the E-Commerce Application frontend using TypeScript and Angular. This application shares the Node server and PostgreSQL database made for E-Commerce Application.

Check out angular-e-commerce