PIR stands for Padel Indoor Rubi and it's meant to be a Web Application (with posibilites of going to mobile version in the future...) that enables regular and non-regular users of the Padel Indoor Rubi installations an easy way to look and book paddle tracks.
- Keep updated the user with the latest news about the center, championships, tournaments...
- Propose open games so random people can join you to play!
- Give the user the opportunity to contact with the center.
- And, under discussion, there'll be a section to publish your offers as a personal trainer and the users would be able to contact you.
Actually, already exists a web but a few days ago I wanted to book a track to play with a friend and I found myself like:
Ok, I recognize it. I looked kinda boomer... but it took me a while to understand how the web works and get the booking done.
So, I decided to try and create a better looknig and way more intuitive than the current web app...
Currently it's a monorepo project build like:
[ pir root folder ]
├── static
│
├── packages
│ ├── front
│ │ ├── ...
│ │ └── package.json
│ │
│ └── back
│ ├── ...
│ └── package.json
│
├── .eslintrc
├── .gitignore
├── package.json
├── lerna.json
└── README.md
-
Backend build with Fastify
- Once the server is running you can check the API documentation at: http://127.0.0.1:5000/api/doc
-
Frontend build with Nextjs
-
Security build with Auth0
- User
- authID: String
- skillLevel: String
- Track
- _id: ObjectID
- trackNum: Number
- trackType: String
- Bookings
- _id: String
- trackID: ITrack['_id']
- userID: IUser['authID']
- bName: String
- bEmail: String
- bDate: String
- initTime: String
- duration: Number
- openGame: Boolean
- host: String
- players: Array<String>
- minSkill: String
- maxSkill: String
- stillJoinable: Boolean
- News
- _id: String
- createdAt: Timestamp
- updatedAt: Timestamp
- title: String
- body: String
- author: IUser['authID']
git clone https://github.com/RealNarukyn/pir.git
cd pir
npm run install
npm run dev