A frontend web platform for sports court booking and management. It provides role-based access (Admin, Owner, User), interactive schedule management, and online payment integration. This repository contains the frontend application only; the backend API is maintained separately.
- Owner schedule management dashboard — calendar UI for owners to create, view, and update booking slots with availability display.
- Admin management portal — platform-wide management of users, venues, and role/permission settings.
- RESTful API integration — integrated with backend endpoints to fetch and update booking data across views.
- Role-based access control (Admin, Owner, User)
- Interactive calendar-based schedule management
- Secure online payment integration
- Responsive UI for mobile and desktop
| Category | Stack |
|---|---|
| Frontend | React, Vite |
| Styling | CSS Modules |
| State Management | React Context API |
| HTTP Client | RESTful API |
| Build Tool | Vite |
| Version Control | Git |
- Node.js (v16+ recommended)
- npm or yarn
npm installRun the dev server:
npm run devThe app will be available at http://localhost:5173
npm run buildnpm run previewnpm run lintCreate a .env file in the project root:
src/
├── app/ # App entry and layout components
│ ├── components/ # Reusable UI components
│ └── pages/ # Page views (user/owner/admin)
├── routes/ # Route definitions
├── services/ # API calls and service wrappers
├── utils/ # Helper utilities
└── main.jsx # App entry
npm run dev— start development servernpm run build— build production assetsnpm run preview— preview production build locallynpm run lint— run ESLint
- TniTni — Frontend Developer
- PanpaKawaii — Frontend Developer
If you'd like, I can also:
- add a
.env.examplefile with recommended variables, - add a short CONTRIBUTING guide,
- or translate this README to Vietnamese.


