Pan is an inventory management system made for Pan. This system was made with the use of MySQL, React, Express, and Node.js.
- Generate reports, such as:
Inventory Report
, which contains the beginning and ending stocks, the number of goods sold, and the gross profit of each product within a month.Sales Report
contains the top performing, least performing, and various statistics of the different products in the system.Supplier Stock Report
, which contains the 'stock in' of the different suppliers within a month.Employee Details Report
Daily Sales Report
- Manage company resources such as employees, products, stocks, and suppliers.
- Track, manage, and place orders based on the available products, and stocks in the system.
- Filter data within the system.
- Role-based authorization on different functionalities.
- Authentication using JWT tokens.
- Clone this project to your local machine.
- Import
pan_db.sql
into your local MySQL database, and run your MySQL database. - Create a Redis instance locally or through Redis Labs.
- Create a SendGrid account.
- Create
.env
files in theclient directory
andserver directory.
The environment variables should contain the following:
# server/.env should contain the following variables
SENDGRID_API_KEY = <<your sendgrid api key here>>
REDIS_HOST = <<your redis host here>>
REDIS_USERNAME = <<your redis user name>>
REDIS_PASSWORD = <<your redis password>>
REDIS_PORT = <<your redis port>>
# client/.env should contain the following variables
VITE_SERVER_URL = https://localhost:3000/api/v1
- Run the following script in a terminal.
cd client
npm i
npm run dev
cd ../server
npm i
npm run dev
- You should be able to login through the login portal using the following credentials.
Employee
email: [email protected]
password: pan@employee123!
Manager
email: [email protected]
password: pan@manager123!
- ...
- Profit!
Unfortunately, we are not accepting pull requests, since this is a one-time project. However, feel free to fork this project, and improve on it!
- Jonh Alexis Buot [Team Lead, Project Manager]
- Sherly Jao [Web Designer, Front-End Developer]
- Nathan Arriesgado [Back-End Developer]
- Erwin Antepuesto [Back-End Developer]