
Booking a court is only one part of Raketta. Players, clubs and the wider racket-sports community each get their own tools, in one system that connects them. Today it runs in Mashhad.
- What we did
- DesignBuildRun
- Built with
- Next.jsFastAPIPostgreSQLRedisGitLab CI/CD
- How it runs
- Every change goes out through our GitLab CI/CD to our servers in Iran, and the same monitoring watches it.
- Visit
- raketta.club
The idea
A game of padel or tennis takes more than a free court. A player needs someone to play with or against, and often a coach or a class. A club has courts to fill, staff and equipment to manage, accounts to keep and members to look after. The sports themselves need events, tournaments and new players.
Raketta brings all of these people into one system, so what one of them does is useful to the others. A class that a club opens is a class a player can find, and a rating that one player leaves helps the next one choose a court.
What it does
For players
- Find a court, see the price and book a time to play
- See the hourly weather before booking an outdoor court
- Split the cost of a booking with friends
- Pay from a wallet, and get refunds back into it
- Book the same game again in one step
- Find a coach or a class
- Join a club for its member benefits, and hear its news before anyone else
- Record match results
- Rate clubs and courts
- Find a partner, or an opponent to play againstComing soon
- Earn a rating and a place in the rankingsComing soon
For clubs
- One booking grid for online, phone and walk-in bookings
- Set prices by day, hour and membership
- Cancellation rules and a waiting list for full times
- Rent out equipment with the booking
- Run classes and work with coaches
- Membership tiers, a CRM and a profile for every member
- Send news and offers to members by SMS and email
- Staff roles, with a log of every change
- A wallet for the club's income, settled on a schedule
- Run tournamentsComing soon
- Reports on bookings, money and membersComing soon
- Compete with other clubsComing soon
For the community
- Pages for every city, sport and court type, so people find where to play
- The sports reach people who haven't tried them yet
- Players find each otherComing soon
- The national federation and academies run events and tournamentsComing soon




The journey
We designed Raketta and built it as several services that work together: the web app that players and clubs use, an API, background workers that handle the slower jobs out of sight, and object storage for photos and files. It sends its mail from a mail server we run for it.
Money moves the way it does in Iran. Players pay through an Iranian payment gateway or from their Raketta wallet, every payment lands in a ledger that is only ever added to, and each club is paid out on a schedule. Dates follow the Persian calendar, and people log in with their phone number and an SMS code.
A system this size is never finished in one go. Every change goes through our GitLab CI/CD before it reaches the servers, so new parts can ship often and the same way each time. Parts such as tournaments and partner matching are built and tested, and are switched on one at a time as clubs are ready for them. Our monitoring watches the site, its services and its error logs, and tells us when something goes wrong.