Go to file
2025-02-25 00:36:59 -05:00
db Fix hover empty cal cells 2025-02-25 00:36:59 -05:00
pages Significant admin UI improvements 2025-02-25 00:27:29 -05:00
public Fix hover empty cal cells 2025-02-25 00:36:59 -05:00
views Significant admin UI improvements 2025-02-25 00:27:29 -05:00
.gitignore Init commit 2025-02-21 15:20:02 -05:00
favicon.ico Init commit 2025-02-21 15:20:12 -05:00
package-lock.json Init commit 2025-02-21 15:20:12 -05:00
package.json Init commit 2025-02-21 15:20:12 -05:00
README.md Init commit 2025-02-21 15:20:12 -05:00
server.js Init commit 2025-02-21 15:20:12 -05:00

Quick Start

npm install

node server.js

Browse to http://localhost:3000/admin for admin interface.

Create a UID and follow link in admin interface for frontend.

Introducing FreeSched: A Simpler Alternative to Cal.com

Youve asked for a much simpler, easy-to-use version of Cal.com, named "FreeSched," that retains the clean and intuitive UI/UX of Cal.com and mirrors the simplicity of Calendly.com. Below, Ill outline what FreeSched is, its core features, how it works, and why its a streamlined alternative to Cal.com—all while keeping the design aesthetic you love.

What is FreeSched? FreeSched is a lightweight, open-source scheduling tool designed to make booking meetings as simple as possible. Inspired by Cal.com (an open-source scheduling infrastructure) and Calendly.com (a popular scheduling platform), FreeSched strips away complexity to focus on the essentials. Its perfect for individuals—like freelancers, consultants, or anyone needing quick one-on-one scheduling—while maintaining a modern, minimalistic interface similar to Cal.com and Calendly.

Key Features of FreeSched FreeSched focuses on simplicity without sacrificing usability. Heres what it offers:

Single Event Type Users set one type of event with a fixed duration (e.g., 30 minutes). No need to juggle multiple event types—just one straightforward option. Basic Availability Settings Set your available days and hours using a simple weekly grid (e.g., Monday to Friday, 9 AM to 5 PM). Availability is divided into 30-minute slots for easy selection. Google Calendar Integration Connects to your Google Calendar to check existing events and prevent double-booking. Only shows time slots when youre truly free. Simple Booking Page A clean, public page (e.g., freesched.example.com/yourname) where others can pick a date and time. Invitees provide their name and email to confirm the booking. Email Notifications Sends confirmation emails to you and the invitee with all the details. Keeps everyone in the loop without extra effort. Time Zone Support Automatically adjusts available times to the invitees time zone. No more confusion for international scheduling. How FreeSched Works FreeSched is designed to be intuitive for both the user (you) and the invitee (the person booking with you). Heres the process:

For You (The User): Sign Up and Set Up Log in with Google (which also links your Google Calendar). Set your availability (e.g., weekdays from 9 AM to 5 PM) and event duration (e.g., 30 minutes). Share Your Booking Link Get a unique URL (e.g., freesched.example.com/yourname) to share via email, social media, or anywhere. Manage Bookings View upcoming bookings in a simple dashboard. Cancel bookings if needed, with automatic notifications sent to both parties. For Invitees (The Booker): Visit Your Booking Page They open your link and see a calendar with your available dates. Pick a Time They select a date and choose from your available 30-minute slots, adjusted to their time zone. Confirm the Booking They enter their name and email, hit confirm, and receive an email with the details. Once booked, the event is added to your Google Calendar, and both of you get a confirmation email. Thats it—no fuss, no extra steps.

UI/UX: Inspired by Cal.com and Calendly FreeSched keeps the polished, user-friendly design of Cal.com and Calendly:

Clean Layout: A minimalistic interface with plenty of whitespace, clear fonts, and a simple color scheme. Intuitive Navigation: Easy-to-use calendar for picking dates and a straightforward list of time slots. Responsive Design: Works seamlessly on desktops, tablets, and phones. Booking Flow: Select a date → pick a time → enter details → confirm—all in a few clicks. Think of Calendlys booking page or Cal.coms sleek dashboard, but pared down to the essentials. The focus is on clarity and ease, avoiding overwhelming options or cluttered screens.

How Its Simpler Than Cal.com Cal.com is a powerful scheduling infrastructure with tons of features, but that can make it overkill for simple needs. FreeSched simplifies things:

Feature Cal.com FreeSched Event Types Multiple (15-min, 30-min, etc.) One fixed duration (e.g., 30 min) Availability Detailed rules and buffers Basic weekly grid Integrations Multiple calendars, payments, etc. Google Calendar only Team Support Yes (shared schedules, etc.) Individual use only Customization Highly customizable Simple, uniform design FreeSched cuts out the extras to deliver a tool thats fast to set up and easy to use, while still looking and feeling like its more complex cousins.

Technical Overview (For the Curious) FreeSched is built with modern, open-source tools:

Frontend: Next.js (a React framework for fast, server-rendered pages). Backend: Node.js with Express.js for handling bookings and logic. Database: PostgreSQL with Prisma to store user data and bookings. Authentication: NextAuth.js with Google OAuth for login and calendar access. Emails: SendGrid or Nodemailer for notifications. This keeps FreeSched lightweight, secure, and easy to maintain, with a tech stack similar to Cal.com but scaled back for simplicity.

Why Use FreeSched? FreeSched is for anyone who wants a free, no-nonsense scheduling tool:

Perfect For: Freelancers, tutors, consultants, or anyone needing simple one-on-one bookings. Benefits: Quick setup, no learning curve, and a professional look inspired by Cal.com and Calendly. Open-Source: Like Cal.com, its free to use and customizable if youre a developer. Its scheduling made easy—just share a link and let others book you, all wrapped in a familiar, user-friendly package.