{"id":21071515,"url":"https://github.com/igrek51/schedulio","last_synced_at":"2026-04-09T07:03:40.565Z","repository":{"id":43165235,"uuid":"496547499","full_name":"igrek51/schedulio","owner":"igrek51","description":"Plan your periodic events continuously","archived":false,"fork":false,"pushed_at":"2023-06-17T19:14:54.000Z","size":42058,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T22:10:01.027Z","etag":null,"topics":["django","fastapi","python","react","schedule"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/igrek51.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-26T08:53:26.000Z","updated_at":"2024-05-01T09:12:15.000Z","dependencies_parsed_at":"2024-11-19T18:53:35.505Z","dependency_job_id":"79c256ce-c465-46a7-b509-a0858612e3eb","html_url":"https://github.com/igrek51/schedulio","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrek51%2Fschedulio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrek51%2Fschedulio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrek51%2Fschedulio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igrek51%2Fschedulio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igrek51","download_url":"https://codeload.github.com/igrek51/schedulio/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243515516,"owners_count":20303256,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","fastapi","python","react","schedule"],"created_at":"2024-11-19T18:53:26.184Z","updated_at":"2025-12-30T22:30:39.072Z","avatar_url":"https://github.com/igrek51.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Schedulio\n\n[![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/igrek51/schedulio?label=github)](https://github.com/igrek51/schedulio)\n[![Docker Image Version (latest by date)](https://img.shields.io/docker/v/igrek52/schedulio?label=docker)](https://hub.docker.com/r/igrek52/schedulio)\n[![Github Pages](https://img.shields.io/badge/docs-github.io-blue)](https://igrek51.github.io/schedulio)\n\nSchedulio lets you plan your periodic events continuously.\n\n1. Vote for the days with your firends.\n2. Let Schedulio find the best match for you.\n3. Repeat.\n\n## Example screenshots\n\n![](./docs/img/screenshot-1.png)\n\n![](./docs/img/screenshot-2.png)\n\n![](./docs/img/screenshot-3.png)\n\n## Run from Docker Hub\nInstall [Docker](https://docs.docker.com/desktop/linux/install/#supported-platforms), run:\n\n```bash\ndocker run --rm -it -p 8000:8000 -u 1000 --name schedulio igrek52/schedulio\n```\n\nand visit [http://127.0.0.1:8000](http://127.0.0.1:8000)\n\n## Local Setup\n\n```bash\nmake setup # setup virtualenv and install dependencies\n. venv/bin/activate # activate virtualenv\n```\n\n### Running\n\nRun on localhost:\n```\nmake run\n```\n\nand visit [http://127.0.0.1:8000](http://127.0.0.1:8000).\n\nYou can also run it inside a local docker container:\n```\nmake run-docker\n```\n\n### Database Management\n\nVisit [http://127.0.0.1:8000/admin](http://127.0.0.1:8000/admin) endpoint to access administration panel and manage data models.\nDefault username \u0026 password is `admin` / `admin`.\nIn first place, reset the database and setup your admin account with:\n\n```bash\nmake recreate-db\n```\n\n## Endpoints\n- `/` - home page (frontend app)\n- `/admin` - administration panel\n- `/docs` - API documentation\n- `/api/status` - Server status and version\n\n## Tech stack\n\n- **Python 3.8** - backend\n- **Fastapi** \u0026 **Uvicorn** - serving API\n- **Django** - managing data models\n- **SQLite** - storing data\n- [**nuclear**](https://github.com/igrek51/nuclear) - logging and error handling\n- **Docker** - containerization\n- **React** \u0026 **Typescript** - frontend app\n- **Material UI** - UI component library\n\n## Testing\n\nRun unit tests with:\n\n```bash\nmake test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figrek51%2Fschedulio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Figrek51%2Fschedulio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figrek51%2Fschedulio/lists"}