Virtual Warehouse is a web application designed to manage and track equipment in a visual communication department's virtual warehouse. The application is built using Java Spring Boot for the backend and React JS for the frontend, with styling provided by CSS combined with SCSS (Sass). The warehouse management system is backed by a PostgreSQL database and serves three main personas: the warehouse manager, the student, and the lecturer.
This web application aims to provide an efficient system for managing and tracking equipment by organizing it in a virtual warehouse. It offers various features for the warehouse manager, students, and lecturers, such as equipment management, borrowing, order tracking, and user profiles. The application also supports authorization and authentication with JWT tokens and follows best practices for security.
To learn more about the features and functionality of Virtual Warehouse, continue reading the sections below.
- Equipment management interface for warehouse manager
- Borrowing interface for students and lecturers
- Order tracking and notifications
- User profiles and authentication
- Authorization with JWT tokens
- Equipment evaluation and transfer tracking
- Studio and podcast room booking
- Equipment usage statistics
- Spring Boot 3.0.4
- Java 17
- Spring Data JPA
- Spring Security
- Spring Boot Web
- PostgreSQL
- Hibernate Validator 8.0.0
- JSON Web Tokens (JWT) 0.11.5
- Apache POI 5.2.2
- Firebase Admin 9.1.1
- Java Mail 1.6.2
- Navigate to the
backend
directory. - Run
mvn clean install
to install the required dependencies. - Run
mvn spring-boot:run
to start the development server.
- Equipment browsing and filtering for students and lecturers
- Order placement and tracking
- Loan time and return time tracking
- Late return policy and digital signature on borrow request form
- Equipment malfunction reporting
- User profiles with equipment history
- Personalized dashboards for students and lecturers
- React 18.2.0
- Material-UI 4.12.4
- MUI 5.11.14
- Axios 1.3.4
- Day.js 1.11.7
- Framer Motion 10.5.0
- i18next 22.4.13
- JWT Decode 3.1.2
- React Router DOM 6.9.0
- React Spring 9.7.1
- SASS 1.59.3
- Semantic UI React 2.1.4
- Navigate to the
frontend
directory. - Run
npm install
to install the required dependencies. - Run
npm start
to start the development server.
If you would like to contribute to this project, please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature-branch
) - Commit your changes (
git commit -m 'Add new feature'
) - Push to the branch (
git push origin feature-branch
) - Create a Pull Request