A fullstack Inventory Management Dashboard built with Next.js, styled with Tailwind css, featuring data visualization for inventory, products, expenses, and users personal setting. Utilizes Node.js with PostgreSQL for the backend, deployed on AWS services including EC2, RDS, and S3. Users can manage and visualize data dynamically with different charts and grid layouts.
AWS Deployment Steps for Full-Stack Web App
1.Set Up VPC & Networking:
vpc -> subnet -> 1 public subnet + 2 private subnet -> 2+ availability zone -> create and attach vpc internet gateway -> route table: each subnet has its own route table and associate them with subnets -> public route table Connects to 0.0.0.0/02.Set Up EC2 Instance
-> set up EC2 instance -> Generate a Key Pair -> allow ssh traffic and https traffic from internet to public subnet and auto assign public ip -> inbound security group rules(ssh http http) -> connect to instance -> install node, git, nvm,pm2 -> in code add "0.0.0.0" to listen to internet -> create config file in code to tell what to run when using pm -> clone code to the aws -> add port to env file -> set pm2 command to monitor restart3.Set Up RDS (Database)
-> Create an RDS Database -> attach with 2 private subnets -> choose database and set password -> db management vpc security groups to get inbound traffic from ec2 instance -> copy endpoint to connect with ec2, add endpoint to env file -> configure db and db seed migrate4.Deploy Frontend with AWS Amplify
-> amplify for frontend app -> connect with github repo -> add env variable copy public ip address -> configure api gateway to all the pages -> get invoke url to paste it in amply env variable5.Configure S3 for Image Storage
-> Create a New S3 Bucket for storing images -> bucket policy add policy to allow public access -> use image links in app
Inventory Page:
Product Page:
User Page:
Expense Page:
Settings Page:
7.Responsive Design:
The frontend is deployed using AWS Amplify, and the backend is deployed on AWS EC2. AWS API Gateway manages the API endpoints, and AWS S3 is used for storage of static assets.
I complete this project with the guide of this tutorial: https://www.youtube.com/watch?v=ddKQ8sZo_v8