Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# Smart Scheduler An AI-powered scheduling app: user auth, calendar, to-do list, event scheduling, reminders, and AI-assisted schedule optimization (via the Claude API) that proposes time slots for your pending tasks based on priority, deadline, and free time on your calendar. - **Backend**: Django REST Framework, SQLite locally / PostgreSQL-ready, JWT auth - **Frontend**: Vue 3 + Vite, Tailwind CSS, Pinia, FullCalendar ## Backend setup ```bash cd backend python -m venv .venv .venv/Scripts/activate # source .venv/bin/activate on macOS/Linux pip install -r requirements.txt cp .env.example .env # fill in ANTHROPIC_API_KEY to enable AI optimization python manage.py migrate python manage.py createsuperuser # optional, for /admin/ python manage.py runserver 8000 ``` By default `DATABASE_URL` is unset and the app uses a local `db.sqlite3` file. To use PostgreSQL instead, set `DATABASE_URL` in `backend/.env`, e.g.: ``` DATABASE_URL=postgres://scheduler:scheduler@localhost:5432/scheduler ``` No code changes are needed to switch � just point `DATABASE_URL` at a running Postgres instance and re-run `python manage.py migrate`. ## Frontend setup ```bash cd frontend npm install cp .env.example .env npm run dev # http://localhost:5173 ``` The frontend expects the backend at `http://localhost:8000/api` by default (see `frontend/.env`'s `VITE_API_BASE_URL`). ## AI schedule optimization The "Optimize My Schedule" button (Dashboard/Tasks) calls the backend, which asks Claude to propose time slots for your pending tasks based on their priority/deadline/estimated duration and your free time over the next 7 days. Requires `ANTHROPIC_API_KEY` to be set in `backend/.env`. Proposed slots are shown for review � nothing is written to your calendar until you accept (per-item accept/reject/edit-time supported) on the Suggested Schedule screen. ## Golden path 1. Register an account, then create a few tasks with priorities/deadlines/durations. 2. Add a couple of events on the Calendar page (drag to move/resize). 3. Click "Optimize My Schedule" and review the AI's proposed slots. 4. Accept the ones you want � they become real calendar events immediately.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages