A comprehensive room reservation system built with TanStack Start, Prisma, and PostgreSQL.
- Authentication: Secure login system for users and administrators.
- Dashboard: specialized dashboards for Admin and Student views.
- Room Management: Tools for admins to create, update, and manage room listings.
- Reservations: Booking interface for students and reservation management for admins.
- User Management: Administrative control over user accounts.
- Landing Pages: Public-facing pages including Home, About, Services, and Contact.
- Framework: TanStack Start
- Language: TypeScript
- Database: PostgreSQL with Prisma ORM
- Styling: Tailwind CSS v4, Shadcn UI, and Framer Motion
- State Management: TanStack Query
- Testing: Vitest and React Testing Library
- Tooling: Biome (Linting/Formatting), Husky (Git hooks)
- Node.js
- Bun (for running database scripts)
- PostgreSQL database
-
Clone the repository:
git clone https://github.com/Xfhreall/go-reserve.git cd go-reserve -
Install dependencies:
bun install
-
Environment Setup: Copy the example environment file and configure your database connection.
cp .env.example .env
-
Database Setup: Push the schema to your database and seed it with initial data.
bun run db:push bun run db:seed
Start the development server:
bun devThe application will be accessible at http://localhost:3000.
bun dev: Starts the development server.bun run build: Builds the application for production.bun run preview: Previews the production build.bun run test: Runs the test suite with Vitest.bun run lint: Lints the codebase using Biome.bun run format: Formats the code using Biome.bun run check: Checks code formatting and linting.bun run db:generate: Generates the Prisma client.bun run db:push: Pushes the Prisma schema to the database.bun run db:seed: Seeds the database with initial data.