Have you ever wanted to return an item that you've purchased, but couldn't find the receipt? Now, imagine that you've got hundreds of items to return. How will you keep track of your purchases?
Description
This application is built for costume designers working in the theatre business and it allows them to keep track of all the purchases that they have made for each production they work on. It uses React.js as a frontend framework for its ease of DOM manipulation, abstractable component-based architecture, and scalability. It also relies on MySQL for a relational database structure which allows each 'purchase' entered by the user to be tied to a specific production.
Future Features
Future iterations of this project will include...
- Login authentication and authorization for multiple users to store purchasing data
- Search bar filteable by vender, payment type, and date of purchase for purchases table
- A receipt parser that can read information and automatically populate the 'add purchase' form
- Reformatted dates in purchase table
- Ability to generate template for adhesive labels from purchase table
Back-end: MySQL, Node, Express
Front-end: React, CSS/HTML, Bootstrap
- Node.js
- npm
- MySQL
- Run
npm install
in the project folder to install dependencies related to Express (the server). cd client
and runnpm install
to install dependencies related to React (the client).
- Create the database in MySQL:
CREATE DATABASE collab_project;
- Use the provided new_db.sql file to import the initial database
- Ensure the tables have been correctly created by running the following in MySQL:
SHOW TABLES; DESCRIBE productions; DESCRIBE purchases;
- Create the .env file to match your personal credentials
Back-end
cd projectfolder
npm start
Postman: http://localhost:4000/
Front-end
cd projectfolder/client
npm run dev
Browser: http://localhost:5173/
*Replace “projectfolder” with whatever you’ve locally named the project folder