Skip to content

Czekoloczek/timeful.app

 
 

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

Plugin API

Read these docs to design your own browser plugins to get + set availability on Timeful events programmatically!

Plugin API Docs

Self-hosting

  1. Prerequisites
    • Node.js 16+ and npm
    • Go 1.20+
    • MongoDB running and accessible
  2. Environment
    • Copy .env.example to .env in /server and fill values (Mongo URI, JWT secret, email/stripe keys as needed).
    • For the frontend, create frontend/.env.local with any VUE_APP_* overrides you need (e.g., API base URL).
  3. Install
    • Frontend: cd frontend && npm install
    • Backend: cd server && go mod download
  4. Run locally
    • Backend: cd server && go run main.go
    • Frontend: cd frontend && npm run serve (defaults to http://localhost:8080)
  5. Build for production
    • Frontend: npm run build (outputs to frontend/dist)
    • Serve built assets via your preferred web server; point API calls to the running Go server.
  6. Updating
    • Pull the latest changes, then re-run npm install (frontend) and go mod download (server) if dependencies changed.
    • Rebuild the frontend (npm run build) and restart the Go server after updates.

Tip: When deploying, ensure environment vars match your production Mongo/SMTP/Stripe config and that the frontend VUE_APP_API_URL points to your API host.

About

Timeful (formerly Schej) 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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Vue 59.1%
  • Go 33.1%
  • JavaScript 6.7%
  • Shell 0.6%
  • HTML 0.5%
  • CSS 0.0%