TotalLoser / Inventory-Managment

An inventory management website that supports complete inventory manipulation as well as multiple users. Application is built on top of Java Spark, React, and MySQL. Run in Docker Containers which are run inside a Kubernetes Cluster

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

An inventory management website that supports the creation modification, and deletion of inventory as well as supporting multiple users. Application is built on top of Java Spark, React, and mySQL. Website and database are run separately in Docker Containers. The Docker Containers are run inside a Kubernets Cluster

Login Page User Page

๐Ÿ–ฑ๏ธ REST API Documentation

  • User Manipulation

    • Get Specefic User Credentials: GET www.kazhuu.com/username/[USERNAME]
    • Get All Users Credentials: GET www.kazhuu.com/username
    • Delete User Account: DELETE www.kazhuu.com/username/[USERNAME]
    • Change User Password: PUT www.kazhuu.com/username/[USERNAME]
      • Form Data:
         {
            password:[NEW PASSWORD]
         }
      
    • Create New User: POST www.kazhuu.com/username
      • Form Data:
         {
            username:[NEW USER USERNAME]
            password:[NEW USER PASSWORD]
         }
      
  • Inventory Manipulation

    • Get All Inventory: GET www.kazhuu.com/inventory/[USERNAME]
    • Get Specefic Inventory: GET www.kazhuu.com/inventory/[USERNAME]/[INVENTORY ID]
    • Delete Specefic Inventory: DELETE www.kazhuu.com/inventory/[USERNAME]/[INVENTORY ID]
    • Update Specefic Inventory: PUT www.kazhuu.com/inventory/[USERNAME]
      • Form Data:
         {
            id:[INVENTORY ID]
            description:[INVENTORY DESCRIPTION]
            url:[INVENTORY URL IMAGE]
         }
      
    • Add New Inventory: POST www.kazhuu.com/inventory/[USERNAME]
      • Form Data:
         {
            id:[INVENTORY ID]
            description:[INVENTORY DESCRIPTION]
            url:[INVENTORY URL IMAGE]
         }
      
  • Expected Response: success:[true/false]

    • [true]: Operation Was Successful
    • [false]: Form Data is Malformed or Internal Server Failure

๐Ÿ›  Installation & Set Up

  1. Install Docker

    sudo apt install docker
  2. Create Website Docker Image

    docker build -t spring-boot-app:latest .
  3. Create mySQL Docker Image

    docker run -e MYSQL_ROOT_PASSWORD=password --network myNetwork --name=database -d -p 127.0.0.1:3306:3306 mysql:latest

๐Ÿš€ Building and Running for Production

  1. Connect and Create Database Schema

    mysql -uroot -ppassword -h 127.0.0.1 -P3306
  2. Connect to the Website

    http://localhost

About

An inventory management website that supports complete inventory manipulation as well as multiple users. Application is built on top of Java Spark, React, and MySQL. Run in Docker Containers which are run inside a Kubernetes Cluster


Languages

Language:HTML 42.5%Language:JavaScript 27.1%Language:Java 22.6%Language:CSS 7.6%Language:Dockerfile 0.2%