Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,892 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Timeful logo

License: AGPL v3 Donate X (formerly Twitter) Follow Discord Subreddit subscribers

Timeful hero

Timeful is a scheduling platform helps you find the best time for a group to meet. It is a free availability poll that is easy to use and integrates with your calendar.

Hosted version of the site: https://timeful.app

Built with Vue 2, MongoDB, Go, and TailwindCSS

Demo

demo video

Features

  • See when everybody's availability overlaps
  • Easily specify date + time ranges to meet between
  • Google calendar, Outlook, Apple calendar integration
  • "Available" vs. "If needed" times
  • Determine when a subset of people are available
  • Schedule across different time zones
  • Email notifications + reminders
  • Duplicating polls
  • Availability groups - stay up to date with people's real-time calendar availability
  • Export availability as CSV
  • Only show responses to event creator

Self-hosting

Timeful can be easily self-hosted using Docker Compose! 🐳

Quick Start with Pre-built Images (Recommended)

The fastest way to get started:

  1. Install Docker and Docker Compose
  2. Pull the pre-built images:
    docker pull ghcr.io/lillenne/timeful.app/backend:latest
    docker pull ghcr.io/lillenne/timeful.app/frontend:latest
  3. Clone the repository: git clone https://github.com/schej-it/timeful.app.git
  4. Copy the example environment file: cp .env.example .env
  5. Configure your .env file (minimum: ENCRYPTION_KEY)
  6. Start the application: docker compose -f docker-compose.ghcr.yml up -d or make up-ghcr
  7. Access at http://localhost:3002

Building from Source

If you prefer to build the images yourself:

  1. Install Docker and Docker Compose
  2. Clone the repository: git clone https://github.com/schej-it/timeful.app.git
  3. Copy the example environment file: cp .env.example .env
  4. Configure your .env file with at minimum:
    • Encryption key (generate with: openssl rand -base64 32)
  5. Start the application: docker compose up -d
  6. Access at http://localhost:3002

Available Images

Pre-built Docker images are automatically published to GitHub Container Registry:

  • Backend: ghcr.io/lillenne/timeful.app/backend:latest
  • Frontend: ghcr.io/lillenne/timeful.app/frontend:latest

Images are built for both linux/amd64 and linux/arm64 platforms.

Full Documentation

See DOCKER.md for complete self-hosting instructions, including:

  • Detailed setup guide for both pre-built and source builds
  • Production deployment with reverse proxy (Nginx/Caddy)
  • Custom domain and CORS configuration
  • Optional features configuration (Google OAuth, Stripe, Email, etc.)
  • Premium features automatically unlocked for self-hosted deployments
  • Backup and maintenance procedures
  • Troubleshooting tips
  • Podman support with Quadlets

Modal Hosting (Backend)

If you want to host only the backend on Modal (long-running web service), see MODAL.md. It includes the Modal entrypoint, env var template, and deploy steps.

Requirements

  • Docker (version 20.10+) or Podman
  • Minimum: Just an encryption key for anonymous event scheduling
  • Optional: Google Cloud account for user accounts and calendar integration
  • 2GB+ RAM recommended
  • 10GB+ disk space for MongoDB data

Self-Hosted Premium Features

By default, all premium features are automatically unlocked for self-hosted deployments! No payment processing or Stripe configuration required. Perfect for organizations wanting to run Timeful for their teams.

About

Timeful app rewritten for Columbia Math Department.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages