Welcome to ParkMate, the final project submission by:
- Andrada, Chad Denard
- Millan, Jeff Andre
- Tejada, Ian Clyde
ParkMate simplifies your parking experience with a user-friendly app. Quickly locate available parking locations and reserve parking slots. Our app calculates payments based on the base rate and the hourly rate of its respective parking location. ParkMate provides a transaction history, making your payments convenient and organized.
Say goodbye to parking hassles โ ParkMate is your reliable companion for stress-free parking
This is for developers wanting to reproduce the web app functionalities on their local machine. As much as possible, try to follow all the steps below in order.
To begin, install the dependencies in the root folder!
npm install
After installing the dependencies, create a .env file in the root directory (It should be on the same level as the readme.md and package.json)
Inside the .env, paste the database URL which is structured as follows:
DATABASE_URL="postgresql://USER:PASSWORD@HOST:PORT/DATABASE"
Refer to the official Prisma ORM documentation for more info.
After the URL has been properly set up, run the Prisma migration script to migrate the tables and perform database seeding:
npx prisma migrate dev
All users that sign up will be REGULAR users. Only the developers have the privilege to grant ADMIN access. For requirement purposes, we have provided a free account with admin access.
username: parkmate-admin
password: FREEadmin-access
After installing dependencies and setting up the database, run this command on the root directory:
npm run dev
Visit http://localhost:3000 to check it out! Log in with the Admin Account or sign up to check out regular user features.
ParkMate uses Jest as its Testing Framework. Selenium is also used to automate some functionalities. For the API testing, ParkMate uses the next-test-api-route-handler (NTARH) testing library. Run this command on root directory to run the tests:
npm test
Always use waitFor(() => {})
when trying to test a server component. Don't be like me! and always mock functions that has async ()!
Fixed my issues related to husky
git config --unset core.hooksPath
/bin/bash: C:/Program Files/nodejs/npx: No such file or directory husky - pre-commit script failed (code 127)