This is a software probation project by SE/IT students of RMIT's Neo Culture Tech club. It aims to create a console-based application for tracking item ownership and warehouse management within the club. The system allows users, store managers, and administrators to manage items, requests, and events through a local file-based storage system.
- User Authentication: Sign up/in with user information forms
- Role-Based Access Control: Different functionalities for Users, Store Managers, and Admins
- Item Tracking: Track which user is holding which item and since when
- Request System: Users can send requests to managers for item transactions
- Event Management: Managers can create events with warehouse items
- Local Data Storage: All data persisted in .txt or .dat files
This is an overview of all project directories and important files:
├── output
│ ├── data
│ │ ├── events
│ │ ├── requests
│ │ │ ├── ManagerToUserRequests
│ │ │ └── UserToManagerRequests
│ │ ├── users
│ │ └── warehouse
│ └── storageApp.exe
├── src
│ ├── Admin.cpp
│ ├── Admin.h
│ ├── Event.cpp
│ ├── Event.h
│ ├── Filepath.h
│ ├── Item.cpp
│ ├── Item.h
│ ├── Login.cpp
│ ├── Login.h
│ ├── Signup.cpp
│ ├── Signup.h
│ ├── storageConsoleMain.cpp
│ ├── StoreManager.cpp
│ ├── StoreManager.h
│ ├── User.cpp
│ ├── User.h
│ ├── Warehouse.cpp
│ ├── Warehouse.h
├── README.md
- C++ Compiler (GCC/G++ v11.4.0+) for building the project
- Make for build automation (optional)
To compile and run the project locally:
# Clone the repository
git clone https://github.com/neo-culture-tech/storage-console.git
cd storage-console
# Compile the project
make # or manually compile with g++
# Run the application
./storage-console-
All user data files are stored in data/users
-
User Item information is stored in user files
-
Warehouse Item information is stored in data/warehouse
-
Event data files are stored in data/events
-
Request data files are stored in data/requests, with separate manager->user and user->manager request folder
-
The system uses simple file I/O operations for data persistence
-
Nguyen Don Gia Phat: Project Leader & Documentation; User: View events, receive notifications, accept buying request from manager; Store Manager: Events & Buying Requests creation, Store Manager Interface; Admin: See/edit item info
-
Tran Hoang Minh: User: View events, receive notifications, accept buying request from manager; Store Manager: Create items, can see and add items to storage, Store Manager Interface; Admin: See/edit warehouse
-
Quan: User: Log in & sign up feature, User interface; Store manager: Accept & reject requests from users; Admin: See & Edit user info, make user into store manager
-
Quang: User: Log in & sign up feature, User interface; Store manager: Accept & reject requests from users; Admin: See & Edit user info, make user into store manager
-
Khang: User: Send request to manager; Store Manager: Create items, can see and add items to storage; Admin: See/edit warehouse, Admin interface