https://github.com/ricardoyam/inventorymanagementsystem
Inventory management system for clothing business👗
https://github.com/ricardoyam/inventorymanagementsystem
aws django docker javascript postgresql python react terraform
Last synced: 5 months ago
JSON representation
Inventory management system for clothing business👗
- Host: GitHub
- URL: https://github.com/ricardoyam/inventorymanagementsystem
- Owner: RicardoYam
- License: mit
- Created: 2024-08-09T12:02:49.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-12-01T07:07:21.000Z (over 1 year ago)
- Last Synced: 2025-05-14T10:21:20.480Z (about 1 year ago)
- Topics: aws, django, docker, javascript, postgresql, python, react, terraform
- Language: JavaScript
- Homepage: https://demoims.com
- Size: 7.02 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## 🌟 About the Project
IMS is an open-source Inventory Management System which provides powerful features for stock control, customer management and order placement, deployed on highly available AWS services. The system is built on a Python/Django-based database backend, coupled with an interactive React-based frontend, providing an intuitive interface for shop managers to efficiently manage operations.
### 👾 Tech Stack
Frontend
- React
- React Router
- Tailwind css
Backend
- Python
- pytest
- Django
- JWT
Database
- Postgres
- SQLite
DevOps
- Docker
- Terraform
AWS
- VPC
- NAT Gateway
- Internet Gateway
- Application Load Balancer
- RDS
- S3
- ECS Fargate
- Auto Scaling
- ECR
- ACM
- Route 53
- CloudFront
🔒 Demo Account
**Account:** Admin
**Password:** 123456
✅ To be implemented
Add stock by using scanner
Stock info autofilling (ML)
## Architecture

## Getting Started
### Local Deployment
Before starting the deployment, ensure that [Docker](https://www.docker.com/) is installed on your system.
To start your local deployment, run the following line:
```bash
docker compose up --build
```
Now, you can access IMS system via [http://localhost:5173/]() !
To stop your local deployment, simply run the following line:
```bash
docker compose down
```
### AWS Deployment
Before starting the deployment, ensure that [Terraform](https://www.terraform.io/) is installed on your system.
To configure AWS credentials used by Terraform, navigate to the `/terraform/provider.tf` file and **update** the following line:
```Terraform
provider "aws" {
...
profile = "iamadmin-test" # UPDATE as your AWS profile name
}
```
or, **delete** this line to use default configuration.
Additionally, to certify your two domains (frontend and backend) via AWS Certificate Manager, create a new file named `variables.tf` under the `/terraform` folder. Add the following lines to the file, replacing the placeholders with your values.
```Terraform
variable "backend_domain_name" {
type = string
default = "..." # e.g. demoims-backend.com
}
variable "acm_certificate_backend_arn" {
type = string
default = "..."
}
variable "route53_zone_backend_id" {
type = string
default = "..."
}
variable "frontend_domain_name" {
type = string
default = "..." # e.g. demoims.com
}
variable "acm_certificate_frontend_arn" {
type = string
default = "..."
}
variable "route53_zone_frontend_id" {
type = string
default = "..."
}
```
Now, you can start your deployment, run the following line:
```bash
terraform init
terraform apply
```

and, run the following command to destroy your deployment:
```bash
terraform destroy
```
## Screenshots
Dashboard page

Customer page

Product details page

VPC Deployment by Terraform

RDS Deployment by Terraform

ECS Deployment by Terraform

ECS Task Deployment by Terraform

CloudFront Deployment by Terraform

Route 53 Deployment by Terraform

## License
[MIT License](LICENSE)