This inventory tracking application replaces manual, paper-based inventory management with a digital solution tailored for the San Mateo County Mosquito and Vector Control District. By utilizing electronic tracking and QR code scanning, the app streamlines inventory management, enhancing operational efficiency and reducing workload.
- Synopsis
- Installation
- Testing
- Deployment
- Project Timeline
- Project Flow Diagram
- Project Screenshots
- Developer Contact Information
-
Our Client:
- San Mateo County Mosquito and Vector Control District
-
Our Client’s business:
- The San Mateo County Mosquito and Vector Control District actively reduces vector populations of disease-carrying pests, employing a science-based approach of integrated vector management. In addition, the district is engaged in ongoing research and development initiatives to enhance its capabilities in safeguarding public health
-
Our Client’s “problem” to be solved:
- The client currently manages inventory using a manual paper-based system, leading to increased workload and extended processing times.
-
Our proposed solution:
-
Our team will address the client's current manual inventory management system by introducing an innovative website-based solution. This digital platform will significantly enhance efficiency through electronic inventory management and seamless QR scanning for streamlined item checkouts. By transitioning from a paper-based process to a digital one, we aim to reduce workload and processing times, providing the client with a more effective and time-saving solution.
-
Key solutions:
- Electronic Inventory Management:
- Transition from manual paper records to a digital platform.
- Offers a more organized and efficient method for managing inventory.
- Enhances the overall control and visibility of the client’s inventory assets.
- QR Scanning Integration:
- Expedites the checkout process for a quicker and more user-friendly experience.
- Enables swift access and updates to inventory information.
-
Our team's solution stands out due to its integration of both electronic inventory management and QR scanning capabilities. This dual functionality provides a comprehensive approach to the client's challenge, ensuring not only a more streamlined inventory control system but also a user-friendly method for item transactions. The combination of these features sets our solution apart, offering a unique and effective approach to solving the client's business problem.
-
- Node.js must be installed on your machine.
git clone https://github.com/vstatnyk/Inventory-tracking-app-CSC190-191.git
Server:
cd server
npm install
Client:
cd client
npm install
Server:
cd server
npm run dev
Client:
cd client
npm run dev
- Node.js Version: v20.4.0
- npm Version: 9.8.0
- Jest Version: 29.7.0
Note: These tests were performed in our testing environment on a Windows 10 OS.
- Clone the Github repository:
git clone https://github.com/vstatnyk/Inventory-tracking-app-CSC190-191.git
- Navigate to the Target Directory:
- For client-side tests, navigate to the
client
directory. - For server-side tests, navigate to the
server
directory.
- For client-side tests, navigate to the
- Install Dependencies:
npm install
- Run Tests:
- To run all tests:
npm test
- To run tests for a specific file (e.g. Login.test.jsx):
npm test Login.test.jsx
- Select Hostinger Tier: Choose the appropriate hosting plan based on your needs (e.g., Premium, Business, Cloud Startup).
- Select Service Duration: Choose the desired length of service (e.g., 1 month, 12 months, 24 months, 48 months).
- Create Hostinger Account: Register a new account or log in if you already have one.
- Domain Setup:
- Create a new domain: Search for and register a new domain name.
- Transfer an existing domain: Transfer your existing domain to Hostinger for easier management.
- Install OS on KVM VPS: Choose an operating system like Ubuntu 22.04 for your virtual private server.
- Point DNS to VPS: Configure your domain's DNS records to point to your VPS IP address.
- SSH into VPS: Use the provided root username and password to access your VPS via SSH.
- Install Node.js and npm:
sudo apt update
sudo apt install nodejs
sudo apt install npm
- Install PM2:
npm install pm2 -g
- Clone Repository:
git clone https://github.com/vstatnyk/Inventory-tracking-app-CSC190-191.git
- Configure Firebase:
- Client: Ensure a
config
folder with aFirebaseConfig.js
file containing your Firebase project credentials exists. - Server: Ensure a
config
folder withFirebaseAdminSDKServiceAccountKey.json
andFirebaseConfig.js
files containing your Firebase project credentials exists. Additionally, ensure a.env
file with environment variables for the Firebase service account key path and MongoDB URI is present.
- (Optional) Install SSL: Follow this tutorial to install an SSL certificate using certbot for secure connections.
- Run the Application:
cd Inventory-tracking-app-CSC190-191
./StartMe.sh
The Image below shows our Jira timeline for the project as of the end of sprint 4
- Users start here to access the app.
- After logging in, users are directed to the inventory page to manage items, generate reports, and view QR codes.
- Authenticated users can view the recent transactions of the inventory on this page.
-
Users can check in or check out items in the inventory by scanning their QR code which takes them to this page.
- Cayman Bawden
- Email: [email protected]
- Brian Beilby
- Email: [email protected]
- Douglas Camero
- Email: [email protected]
- Bohdan Hrytsak
- Email: [email protected]
- Shafii Mohammed
- Email: [email protected]
- Matthew Ryan
- Email: [email protected]
- Rafael Slivca
- Email: [email protected]
- Vlad Statnyk
- Email: [email protected]