Personal Trainer Planner

screenshot of Personal Trainer Planner
nextjs
react
tanstack
tailwind
cmdk
headless-ui
shadcn-ui
contentful
prisma

A client management and scheduling system for personal trainers built with Next.js 15, PostgreSQL, and TypeScript.

Overview

The Personal Trainer Planner is a comprehensive client management and scheduling system crafted specifically for personal trainers. Built using advanced technologies like Next.js 15, PostgreSQL, and TypeScript, this application aims to streamline daily operations while enhancing the overall client experience. With its user-friendly interface and robust features, trainers can efficiently manage appointments, track client progress, and automate many time-consuming tasks.

This platform is an invaluable tool for personal trainers of all types, whether they're focused on one-on-one sessions or managing larger bootcamp classes. The combination of real-time synchronization with Google Calendar, intuitive billing tracking, and detailed attendance monitoring makes it a standout choice for fitness professionals looking to elevate their practice.

Features

  • Client Management: Efficiently manages both individual clients and group class participants, ensuring everyone is organized in one place.
  • Appointment Scheduling: Automates appointment creation and tracking, with seamless integration for individual and group training sessions.
  • Google Calendar Sync: Automatic synchronization with Google Calendar helps trainers and clients stay updated on training sessions.
  • Attendance Tracking: Detailed attendance statuses for appointments and workouts help in monitoring client engagement and program adherence.
  • Dynamic Billing System: Track fees and billing conveniently, with support for both pay-per-session and credit-based attendance systems.
  • Robust Authentication: Secure login using email/password authentication and JWT strategy protects user accounts and sensitive information.
  • Custom Styling: Utilizes Tailwind CSS for a clean, responsive interface that can be easily customized to fit branding needs.
  • Error Monitoring and Testing: Integrated tools like Sentry for error tracking and Vitest/Playwright for testing ensure the application runs smoothly and efficiently.
nextjs
Next.js

Next.js is a React-based web framework that enables server-side rendering, static site generation, and other powerful features for building modern web applications.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

tanstack
TanStack

TanStack is a collection of high-quality, framework-agnostic libraries including TanStack Query for data fetching, TanStack Router for routing, TanStack Table for tables, and more. These tools provide powerful, type-safe solutions for common web development challenges.

tailwind
Tailwind

Tailwind CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.

cmdk
cmdk

cmdk is a fast, composable command menu component for React. It provides the foundation for building command palettes, search interfaces, and keyboard-navigable menus similar to those found in applications like VS Code, Linear, and Raycast.

headless-ui
Headless UI

Headless UI is a set of completely unstyled, fully accessible UI components for React, Vue, and Alpine.js that empower developers to build their own fully accessible custom UI components. Headless UI allows developers to focus on building accessible and highly functional user interfaces, without the need to worry about styling or layout.

shadcn-ui
Shadcn UI

Beautifully designed components that you can copy and paste into your apps. Accessible. Customizable. Open Source.

contentful
Contentful

Contentful is a headless content management system (CMS) that provides a flexible and scalable platform for creating, managing, and delivering digital content across multiple channels and devices.

prisma
Prisma

Prisma is a server-side library that helps developers read and write data to the database in an intuitive, efficient and safe way.

fullstack
Fullstack

A fullstack boilerplate provides a starter application that includes both frontend and backend. It should include database, auth, payments, user roles and other backend services to build a fully featured saas or webapps.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

react-hook-form
React Hook Form

React Hook Form is a performant, flexible, and extensible form library for React with easy validation. It reduces re-renders and improves performance by using uncontrolled components and native HTML validation, making form handling simple and efficient.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.

vercel
Vercel

Vercel offers built-in support for deploying and hosting Next.js applications, making it a popular choice among Next.js developers.

zod
Zod

Zod is a TypeScript-first schema declaration and validation library. It allows you to define schemas that can validate data at runtime while providing excellent TypeScript inference, making it perfect for API validation, form validation, and type-safe data handling.