A simple web app simulation of DLSU-USG's Pahiram Locker and DLSU-CSG's Pahiram Services. Features a rental system for lockers and equipment such as umbrellas, extension cords, VGA and HDMI cables, and markers.
-
The web app is designed to be responsive. This means that all pages and features are easily accessible across any platform, from desktops to mobile phones.
-
Users may log in and register via their DLSU Google accounts.
-
There are two user roles. Students can make locker and equipment reservations.
Student respresentatives are the administrators of the app.
-
Students may view their profile and edit their contact number. To update other information, the user has to approach the student representative.
-
Students may reserve lockers, from all buildings and floors, that are available for rent. Students may only rent one locker at a time.
Students may also reserve equipment (subject to Pahiram Services' terms and conditions). They may only rent up to two equipment at a given day.
-
Students may view reservations made, and cancel ones that are on their initial stages when they change their minds.
-
Students may view the terms and conditions of Pahiram Services. They are also constantly reminded of the service's terms when making a reservation.
-
Student representatives may manage lockers (i.e. add new panels from specified locations, view panels and their respective lessees, mark broken lockers, and delete vacant panels).
-
Student representatives may manage equipment (i.e. add new equipment, update equipment availability, view a list of all equipment, and delete equipment).
-
Student representatives may manage all types of reservations (e.g. view all reservations and respond to them by changing their statuses and attaching remarks, as well as charging penalties for uncleared reservations).
-
Student representatives may manage people (view all users, update their important profile information such as ID number and name, promote students to student representatives, and demote student representatives to students).
-
For unreturned equipment past 6pm, the appropriate penalties are automatically applied.
The web app can now be accessed online through this link. If you want to access the app through your local machine, follow the instructions on the next sections.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Node.js
Node Package Manager (NPM)
Git (optional)
- Clone repository
git clone https://github.com/ccapdev1920T2/s12g7.git
- Install all npm packages used by typing the following command in the terminal:
npm install
- Set up the environment variables. Google OAuth 2.0 has been used to authenticate and authorize DLSU users. User uploads (i.e. equipment images) are stored in an AWS S3 bucket. The Google OAuth2.0 and AWS S3 credentials are stored as environment variables due to security reasons in the deployment process. To set up the environment variables on the local machine, a separate file,
.env
, is privately sent to the professor. This file must be placed at the root directory of the project before starting it.
-
Run the server by typing in the command:
node index.js
-
Access the localhost. Users who have not yet logged in will be redirected to the log in page.
-
Log in using your DLSU Google account. First time users will be redirected to the register page and will be asked to complete the user's information.
The first user who registers automatically becomes a student representative
-
The user is now ready to use the web app. Students can only access limited features in the app,
while student representatives are given administrative privileges to all features
- When creating an equipment, the student representative has the freedom to choose any image they want to describe the equipment. However, it is advised to design equipment images with design consistency in mind. For instance, the image has to have an aspect ratio of 1:1 to better work with the card layout the developers had in mind when designing the web app. To better visualize the images, the developers have created nine sample images that match the web app's design language. The files are accessible on the same project folder at:
./public/static/equipment-types/
- Badulis, Keith Gabriel
- Gagan, Isser Troy
- Matias, Maria Angela Mikaela
- Sir Arren for patiently teaching us