❗(This has been a personal project where I aimed to learn Spring Boot within a tight deadline. It's still a work in progress and I plan to continue my work when I have the time. For this reason, this project does not have a responsive design.)❗
Key Features • Description • Tech Stack • Screenshots
-
React with TypeScript, Material UI, React Redux and React Router for the UI and UX
-
React toastify and React Persist for the UX again 🏖️
-
Old school user-friendly UI inspired by the 90's (I'm kinda bad at design...)
-
User Roles:
- Admin: Manages Managers, Employees, and Products. Access to global statistics.
- Manager: Manages Employees, Products, and submits reports. Access to personal and team statistics.
- Employee: Submits reports, views personal information, and charts.
-
Charts and Statistics:
- Charts using Chart.js and Recharts to visualize data.
- Monthly breakdown of product purchases and notifications.
-
I used this nice colour template:
The primary purpose of TerraTech is to simulate a robust branch management environment with distinct roles for Admins, Managers, and Employees. Through a user-friendly interface, the application empowers Managers to create and oversee their teams, manage products, and generate insightful reports. Admins, on the other hand, gain a comprehensive overview of the entire organizational structure and can analyze critical statistics.
For the front-end:
- React, Vite, React Router
- Material-UI, MUI X Data Grid
- Redux Toolkit, Redux Persist
- Axios for API requests
- Chart.js, Recharts for data visualization
- Sass for styling
For the back-end:
- Spring Boot
- Spring Data JPA, Spring Security
- JWT (JSON Web Token) for authentication
- Commons Lang3 for utility functions
- PostgreSQL for data storage
- Lombok for reducing boilerplate code
❗
❗
Just a quick heads-up—this project is a constant work in progress! Despite setting a tight deadline for myself, I've managed to make the following progress. However, I continue to tweak and enhance it whenever I can.
❗
❗