Skip to content

Maxiimeeb/availability-calandar

Repository files navigation

Availability

A lightweight calendar app for coordinating availability across people. Each person selects the days they're free; everyone can see who's available on any given day at a glance.

Features

  • User picker — choose your identity from a predefined list (saved in localStorage)
  • Calendar — click any day to toggle your availability; navigate to any month
  • Color coding — green for days you selected, blue for days others selected
  • Hover tooltips — see exactly who's available on a given day
  • Popular dates sidebar — top dates ranked by headcount, with name popover on hover

Running locally

npm install
npm run dev

Open http://localhost:3000.

Testing from a phone on the same network — add your machine's LAN IP to next.config.ts:

allowedDevOrigins: ["192.168.x.x"],

Managing users

Edit data/users.json — no rebuild needed, it's read on every request:

[
  { "id": "alice", "name": "Alice" },
  { "id": "bob",   "name": "Bob"   }
]

Docker

docker build -t schedule .
docker run -p 3000:3000 -v $(pwd)/data:/app/data schedule

Mount data/ as a volume so schedule.json survives container restarts. You can also edit users.json on the host without rebuilding the image.

Data storage

File Purpose
data/users.json Predefined user list
data/schedule.json Availability selections (auto-created on first write)

Concurrent writes to schedule.json are serialized with a mutex — safe for multiple users clicking simultaneously.

Stack

About

A lightweight calendar app for coordinating availability across people. Each person selects the days they're free; everyone can see who's available on any given day at a glance.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors