Skip to content

A full-stack inventory management system showcasing comprehensive testing practices and real-time data handling. Built with TypeScript and featuring extensive test coverage using Cypress and Vitest.

Notifications You must be signed in to change notification settings

Milanshub/Inventory-management-ts-jest-project-6

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Inventory Management System

This project is an Inventory Management System built with TypeScript and tested with Cypress and Vitest. It helps manage and track inventory items efficiently.

Features

  • Add, update, and delete inventory items
  • Search and filter items
  • Track inventory levels
  • Generate reports

Technologies Used

  • TypeScript
  • Node.js
  • Express.js
  • Cypress
  • MongoDB
  • Vitest
  • Docker

Installation

  1. Clone the Repository:
git clone https://github.com/Milanshub/Inventory-management-ts-jest-project-6.git
cd inventory-management-ts-jest-project-6
  1. Build the Backend Server:
cd server
npm install
npm build
  1. Build the Frontend Client:
cd ../client
npm install
npm build
  1. Start the Backend Server:
cd ../server
npm start:dist
  1. Start the Frontend Client:
cd ../client
start:build

Build and Deploy Locally with Docker Compose

  1. Ensure Docker and Docker Compose are Installed.

  2. Build and Start the Application:

docker-compose up --build

Kubernetes Deployment

  1. Ensure Kubernetes and kubectl are Installed.

  2. Apply Kubernetes Configuration:

kubectl apply -f k8s/
  1. Forward Ports to Access Services Locally:
kubectl port-forward svc/client-service 3000:80 -n inventory-demo-app
kubectl port-forward svc/server-service 5000:5000 -n inventory-demo-app

Running Tests

Backend Tests (Server)

cd server
npm test

Frontend Tests (Client)

cd client
# Run Component Tests
npm run cypress:run:component

# Run E2E Tests  
npm run cypress:run:e2e

Contributing

Contributions are welcome! Please fork the repository and create a pull request.

License

This project is licensed under the MIT License.

Contact

For any inquiries, please contact [[email protected]].

About

A full-stack inventory management system showcasing comprehensive testing practices and real-time data handling. Built with TypeScript and featuring extensive test coverage using Cypress and Vitest.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages