https://github.com/darius-it/schedule-it
Scheduling app for easy time management. Create and assign slots on a daily timeline, ideal for booking rooms, breaks, or tasks.
https://github.com/darius-it/schedule-it
calendar calendar-view schedule timeboxing
Last synced: 7 months ago
JSON representation
Scheduling app for easy time management. Create and assign slots on a daily timeline, ideal for booking rooms, breaks, or tasks.
- Host: GitHub
- URL: https://github.com/darius-it/schedule-it
- Owner: darius-it
- License: bsd-3-clause
- Created: 2024-08-27T18:47:08.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-12-30T13:38:10.000Z (7 months ago)
- Last Synced: 2024-12-30T14:29:13.571Z (7 months ago)
- Topics: calendar, calendar-view, schedule, timeboxing
- Language: JavaScript
- Homepage: https://schedule-it-now.netlify.app
- Size: 349 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
A simple and intuitive scheduling application that helps you manage your time effectively. Schedule-it allows users to create, edit, and organize events, and collaborate with others on shared calendars. Built with React, TailwindCSS, shadcn/ui and Supabase.
Try it out here: https://schedule-it-now.netlify.app
## Demo

## Deployment
These are the necessary steps to host the app yourself if you do not want to use the [deployed version](https://schedule-it-now.netlify.app):1. Build the app using `pnpm build` and deploy to Netlify, Vercel, GitHub Pages, etc.
2. Create a new Supabase project
3. Populate the following environment variables (either in an .env file or using the Environment Variables option of your host):
`VITE_SUPABASE_URL`(your Supabase project URL) and `VITE_SUPABASE_ANON_KEY` (your Supabase anon key).
4. Create following database tables (make sure RLS is disabled, these tables are supposed to be publicly available through their id):
- **schedules**:
| id (primary key) | title | name | icon | created_at |
|-----|-------|------|------|------------|
| text (unique) | text | text | text | timestamptz |- **appointments**:
| id (primary key) | schedule (foreign key rel -> id of schedules; cascade) | name | start_time | end_time | created_at |
|-----|----------|------|------------|----------|------------|
| int8 | text | text | timestamptz | timestamptz | timestamptz |5. You're ready to go! Enjoy!
## Planned Features
- [x] Generate project slugs using dictionary words (e.g. funny-tortoise-book); should be unique so they can be used as an ID
- [x] Create new table for schedules and link it to appointments using a foreign key relation
- [x] Save newly created schedules to localstorage and also allow add button to add them from slug ("My Schedules" section on homepage)
- [x] Turn it into a PWA for more convenient usage from mobile devices
- [x] Add dark/light mode toggle
- [ ] Allow removing individual appointments from the timelines## Credits
Copyright (c) 2024, darius-it.
Licensed under the BSD 3-Clause License.