Booking Simplified. Schedule Smarter.
SchedulR is a comprehensive, multi-role appointment booking and management platform designed to streamline scheduling for businesses, staff, and customers. From complex staff availability to automated refund policies, SchedulR handles the end-to-end booking lifecycle with precision.
Check out the project in action: YouTube Video Link
The landing page serves as the professional entry point for SchedulR, highlighting its core scheduling capabilities.
Users can register as either a Customer or an Organizer to access tailored dashboard features.
The secure login system automatically detects user roles and redirects them to their respective dashboards.
The customer dashboard provides a streamlined overview of upcoming appointments and easy access to booking history.
Customers can manage their personal schedules, reschedule slots, and track the status of their service requests.
Users can browse the full catalog of available appointments and services offered by the platform.
The intuitive interface allows users to select their desired service to proceed with the booking process.
A dynamic calendar and time-slot picker allow users to choose their preferred appointment time.
The final step ensures all details are correct before securely confirming the appointment.
SchedulR is built with a robust role-based access control (RBAC) system to cater to different organizational needs:
The system overseer with full control over the platform.
- User Management: Monitor, activate/deactivate accounts, and manage user roles.
- Global Overview: Access system-wide statistics and dashboard analytics.
- Appointment Oversight: View and manage every appointment across the system.
The business owner or department head who manages the operational side of bookings.
- Booking Management: Confirm, reject, or complete bookings manually.
- Dynamic Scheduling: Reschedule or cancel appointments with automated logic.
- Calendar View: A dedicated visual interface to track all scheduled slots.
- Resource Management: Manage the resources (rooms, equipment, etc.) linked to appointments.
The service providers who carry out the appointments.
- Availability Management: Define precise working hours and manage personal schedules.
- Exception Handling: Set specific dates or times as "unavailable" (e.g., vacations or breaks).
- Personal Dashboard: View upcoming tasks and daily schedules.
The end-user seeking to book services.
- Seamless Booking: Browse appointment types and book slots in a few clicks.
- Self-Service: Manage personal bookings, including cancellation and rescheduling.
- Payment Integration: Secure payment confirmation and automated refund handling for cancellations.
- Custom Questionnaires: Simple response handling for appointment-specific requirements.
- Lifecycle Automation: Automated flows for booking creation, confirmation, and completion.
- Smart Cancellations: Built-in refund calculation logic based on time-to-appointment.
- Custom Appointment Types: Create various appointment styles with tailored questions (Multiple choice, Dropdowns, Date, etc.).
- Real-time Notifications: Email alerts for booking confirmations and password resets.
- Responsive Design: A modern, mobile-friendly interface for both management and booking.
- Frontend: Next.js (App Router), React, TypeScript, Redux Toolkit, Tailwind CSS
- Backend: Node.js, Express, Prisma (ORM)
- Database: PostgreSQL
- Utilities: Framer Motion (Animations), Nodemailer (Emails), Cloudinary (Image Storage)
- Node.js (>= 18)
- PostgreSQL
- npm or yarn
- Navigate to
backend/. - Install dependencies:
npm install. - Create a
.envfile (refer to.env.example). - Run migrations:
npm run migrate. - Start server:
npm run dev.
- Navigate to
frontend/. - Install dependencies:
npm install. - Create a
.env.localfile withNEXT_PUBLIC_API_URL=http://localhost:5000. - Start application:
npm run dev.
This project is provided for educational and demonstration purposes.