Skip to content

Repository files navigation

Next Services Marketplace

A marketplace of services available for booking, built with Next.js and the Timerise.io API. The application allows users to browse and book various services in a simple and intuitive way.

Table of Contents

Features

  • Browse Services: Intuitive interface for exploring available services across organizations and projects.
  • Whitelabel Support: Domain-based organization marketplace configuration for custom branding.
  • Service Discovery: Featured services, label filtering, and search functionality.
  • Bookings: Each service card links through to the Timerise booking app (bookingAppUrl) to complete a reservation.
  • Responsiveness: Optimized display on various devices with responsive design using Tailwind CSS.
  • Internationalization: Multi-language support with 18 languages (bg, cs, de, el, en, es, fi, fr, hu, it, nb, nl, pl, pt, sk, sv, tr, uk) using i18next.
  • Performance: Efficient data fetching and caching with SWR.
  • Security: Type-safe environment variables with @t3-oss/env-nextjs, data validation with Zod, and strong typing with TypeScript.

Technologies

Requirements

  • Node.js: Version 24 (see .nvmrc)
  • Bun: Version 1.2 or higher (package manager and script runner)

Installation

  1. Clone the repository:
git clone https://github.com/your-username/next-services.git
cd next-services
  1. Install dependencies:
bun install
  1. Configure environment variables: The tracked .env file ships placeholders only. Create .env.local and set the GraphQL endpoint, otherwise the app starts but every API request fails:
NEXT_PUBLIC_TIMERISE_API_ENDPOINT=https://api.timerise.io/graphql  # required
TIMERISE_API_KEY=your_api_key_here                                 # optional, server-side
  1. Development Mode Run the application in development mode with hot-reloading:
bun dev

The application will be available at http://localhost:3000.

  1. Scripts
bun dev - Starts the development server.
bun run build - Builds the application for production.
bun start - Starts the production server.
bun run lint - Runs ESLint to check code quality.
  1. Contributing Contributions are welcome! Please open an issue or submit a pull request.

  2. License This project is licensed under the terms of the MIT license.

Releases

Packages

Contributors

Languages