This project is a complete full-stack inventory management dashboard application built using the following technologies:
- Frontend: Next.js, Tailwind CSS, Material UI Data Grid
- State Management: Redux Toolkit, Redux Toolkit Query
- Database: PostgreSQL
- Backend: Node.js, Prisma ORM
- Cloud Services: AWS (RDS, EC2, API Gateway, Amplify, S3)
- Frontend: Responsive UI with Next.js, styled with Tailwind CSS, and complex data handling with Material UI Data Grid.
- State Management: Efficient state management using Redux Toolkit and data fetching with Redux Toolkit Query.
- Backend: REST API built with Node.js and Prisma ORM for seamless database interactions.
- AWS Integration: Comprehensive use of AWS services for a scalable and robust application.
- Note: I used mock data for some parts
Check out the live demo of the application: Live Demo](https://main.d3g1wfn7t7szh.amplifyapp.com/)
To get started with this project, follow these steps:
-
Clone the Repository
git clone https://github.com/yahyo7/inventory-management.git cd inventory-management -
Install Dependencies
For the backend:
cd server npm installFor the frontend:
cd client npm install -
Configure Environment Variables
Create a
.envfile in both theserverandclientdirectories with the necessary environment variables. Example variables might include:# Client (Frontend) NEXT_PUBLIC_API_BASE_URL=https://your-api-url.com # Server (Backend) DATABASE_URL=postgresql://username:password@host:port/database
-
Run Migrations
cd server npx prisma migrate dev --name init -
Start the Development Server
For the backend:
cd server npm run devFor the frontend:
cd client npm run devThe application should now be running on
http://localhost:3000(frontend) andhttp://localhost:8000(backend).
Deployment details are covered in the tutorial, including:
- AWS RDS: For database management
- AWS EC2: For computing power
- AWS API Gateway: For creating robust APIs
- AWS Amplify: For frontend deployment
- AWS S3: For storage solutions
If you'd like to contribute to this project, please fork the repository and submit a pull request with your changes.
- Next.js: Next.js Documentation
- Tailwind CSS: Tailwind CSS Documentation
- Material UI Data Grid: Material UI Documentation
- Prisma: Prisma Documentation
- AWS: AWS Documentation
For any questions or feedback, feel free to open an issue on GitHub.
