Cabpool is a cutting-edge room booking application designed to revolutionize McMaster University's existing system. With a sleek interface built using React.js, the platform enables students to effortlessly book rooms at a staggering six times the speed of the previous system. The application utilizes an AWS backend for efficient account management and a robust booking database. Leveraging the power of Next.js and Tailwind CSS, "Hatch Booking System" offers an intuitive and seamless experience for students, streamlining the room booking process like never before.
Requirements include:
- Allowing students to book a room in the Gerald Hatch Centre 6x faster than the original system
- Responsive design to be able to be used on both desktop and mobile devices
The following are required to be installed on your system:
Note: Ensure that you select "Add to PATH" when installing Git, Node.js, and Yarn, if prompted
Install the following extensions for a better development experience:
- ESLint
- Prettier
- Error Lens
- Tailwind CSS IntelliSense
- Babel JavaScript
- Auto Close Tag
- Auto Rename Tag
- Better Comments
- React Native Tools
- Thunder Client
-
Clone the repository
-
Install dependencies
yarn install
- Run the development server
yarn dev
Open http://localhost:3000 with your browser to see the result.
Branch
Ensure that all your branches are named according to the following convention:
feature/<feature-name>
for new featuresbugfix/<bug-name>
for bug fixesimprovement/<improvement-name>
for improvementschore/<chore-name>
for chores
Ensure that the name of your branch is descriptive of the feature/bug/improvement/chore that you are working on, and is written in kebab-case
.
Examples:
feature/add-login-page
bugfix/fix-login-page
improvement/update-login-page
chore/update-readme
Commit Message
This project uses Conventional Commits for commit messages. Ensure that all your commit messages are written according to the following convention:
<type>: <description>
Where type
is one of the following:
feat
for new featuresfix
for bug fixes
Examples:
feat: add confirm password field
fix: submit button not working
The following is the folder structure of the project:
.
├── .github
├── .husky
├── .vscode
├── node_modules
├── public
├── src
│ ├── __tests__
│ ├── components
│ ├── constants
│ ├── lib
│ ├── pages
│ ├── styles
The most important folders are:
node_modules
contains all the dependencies of the project. This folder is automatically generated when you runyarn install
, and should not be manually edited.public
contains all the static assets of the project. This includes images, fonts, etc.src
contains all the source code of the projectcomponents
contains all the components of the project. These include any component that is used more than once in the project.constants
contains all the constants of the projectlib
contains all the utility functions of the projectpages
contains all the pages of the project. This is where you will be developing most of the website. Each file in this folder represents a sub-directory page in the website. For example,bookings.tsx
would link to https://www.macengsociety.ca/bookingsstyles
contains all the styles of the project