Skip to content

phammings/clothing-store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Clothing Store


Full Stack Clothing Store

A full stack ecommerce application using React for the frontend, Spring Boot Java for the backend, PostgreSQL as the database, and GraphQL for queries. The application includes user login, registration, authentication, and captcha verification along with admin controls.

Table of Contents
  1. About The Project
  2. Roadmap
  3. Instructions
  4. Video Demo
  5. Screencaps
  6. Notes

About The Project

The project focuses on creating a full stack ecommerce application that showcases a clothing store. The backend is built with Spring Boot Java, interfacing with a PostgreSQL database, and using GraphQL for queries. The frontend is developed with React, providing a dynamic and responsive user interface. The application includes full user authentication with login and registration features, as well as captcha verification to enhance security. It also features admin controls to manage items, orders and users.

(back to top)

Built With

  • Java
  • SpringBoot
  • Maven
  • PostgreSQL
  • GraphQL
  • React
  • Docker

Tested With

  • Postman

(back to top)

Roadmap

  • ✔️ Implement user authentication with JWT
  • ✔️ Add captcha verification for user registration and login
  • ✔️ Develop a dynamic frontend using React
  • ✔️ Build a robust backend with Spring Boot and PostgreSQL
  • ✔️ Integrate GraphQL for efficient data querying
  • ✔️ Implement shopping cart and order processing functionalities
  • ✔️ Develop an admin interface for managing products, users and orders
  • ✔️ Test endpoints with Postman
  • ✔️ Utilize Docker for containerized deployment and easy setup across different environments

(back to top)

Instructions

  1. Build the Docker image and ensure no previous cache is used:
    • docker-compose build --no-cache
  2. Compose the Docker image:
    • docker-compose up
  • Manual Installation:

    • Client frontend:
      1. npm install
      2. npm start
    • Server backend:
      1. maven clean install
      2. mvn spring-boot:run
  • Postgresql database should have credentials (change in application.properties if needed):

    • Username: postgres
    • Password: root

(back to top)

Video Demo

(back to top)

Screencaps

Image Image Image

(back to top)

Notes

  • Admin credentials:

  • When an admin upload a new item to the store, it may take up to 30 mins for the store to update. To avoid this, re-run the server backend.

  • If you cannot upload any item images as admin, you must change file permissions of static.asset.images to be able to read, write, execute.

(back to top)