{"id":19092192,"url":"https://github.com/cvut/sirius","last_synced_at":"2025-04-18T13:34:35.569Z","repository":{"id":15249246,"uuid":"17978252","full_name":"cvut/sirius","owner":"cvut","description":"A public mirror of https://gitlab.fit.cvut.cz/ict/dev/sirius","archived":false,"fork":false,"pushed_at":"2022-07-21T23:28:23.000Z","size":1152,"stargazers_count":17,"open_issues_count":40,"forks_count":7,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-04-15T15:11:23.772Z","etag":null,"topics":["calendar","cvut","events","kosapi","ruby","sirius","timetable"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":false,"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/cvut.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}},"created_at":"2014-03-21T11:46:15.000Z","updated_at":"2022-12-06T12:35:52.000Z","dependencies_parsed_at":"2022-09-02T23:30:55.075Z","dependency_job_id":null,"html_url":"https://github.com/cvut/sirius","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvut%2Fsirius","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvut%2Fsirius/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvut%2Fsirius/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cvut%2Fsirius/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cvut","download_url":"https://codeload.github.com/cvut/sirius/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223779753,"owners_count":17201330,"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":["calendar","cvut","events","kosapi","ruby","sirius","timetable"],"created_at":"2024-11-09T03:18:30.080Z","updated_at":"2024-11-09T03:18:31.849Z","avatar_url":"https://github.com/cvut.png","language":"Ruby","readme":"# Sirius: CTU Time management API\n\n[![Maintainability](https://api.codeclimate.com/v1/badges/cd54c798539c416f4ff3/maintainability.svg)](https://codeclimate.com/github/cvut/sirius/maintainability)\n[![Coverage Status](https://coveralls.io/repos/cvut/sirius/badge.svg?branch=master\u0026service=github)](https://coveralls.io/github/cvut/sirius?branch=master)\n[![Inline docs](https://inch-ci.org/github/cvut/sirius.svg)](http://inch-ci.org/github/cvut/sirius)\n\n\nSirius is a Timetable management API, which is used at [CTU FIT](http://fit.cvut.cz/) to transform regular timetables\ninto accurate calendars. Main Sirius output are calendar events and their collections (calendars). Same events can be\nviewed from different perspectives, creating different calendar types (personal, room or course calendar).\n\nMain timetable data source is KOS IS, which is accessed via [KOSapi](https://kosapi.fit.cvut.cz/). Timetables from KOS\nare then converted to events according to scheduling rules and exceptions stored in local Sirius database.\nCurrently supported output data formats are JSON (for client apps) and iCalendar (for users).\n\n## API documentation\n\nDocumentation of resources which Sirius provides is currently available [here](http://cvut.github.io/sirius/docs/api-v1.html).\n\n# Looking for help?\n\nIf you need help with adding you personal calendar to the calendar software you are using, check out our\n[wiki tutorial page](https://github.com/cvut/sirius/wiki/Nastaven%C3%AD-kalend%C3%A1%C5%99e).\n\nIf you have an issue with your personal calendar or any other problems, feel free to use\n[project issues on Github](https://github.com/cvut/sirius/issues) or you could just message us directly.\n\n# Suggestions, ideas and contributions\n\nWe are welcome to suggestions and ideas about this project. Please use [project issues](https://github.com/cvut/sirius/issues)\nto discuss it if you have one.\n\nIf you feel you could improve project in some way, you can fork this repo and send a pull request with your change.\nIf you consider adding a new feature or significantly changing behaviour of an existing one, it would be nice\nto discuss it with project maintainers beforehand, otherwise there is a possibility that your pull request might not get accepted.\n\n# Setup\n\nAfter cloning this repo, run `script/setup` to bootstrap your configuration. This will create `.env` file in project root\nwith reasonable defaults that you can change after that.\n\n## Prerequisites\n\n* Ruby/MRI 2.3+\n* PostgreSQL 9.5+\n* ElasticSearch 1.* (not mandatory, used only for `/search` resource)\n\n## Environment variables\n\nVariables put into `.env` file will be automatically loaded by Foreman.\n\nYou will need an OAuth 2.0 credentials (for KOSapi and Usermap API) from the [Apps Manager](https://auth.fit.cvut.cz/manager/) and local PostgreSQL database and ElasticSearch.\nIf you don’t need the `/search` resource, then you can omit ElasticSearch (just put any URI into `ELASTIC_URL` to pass check).\n\n```\nDATABASE_URL=postgres://localhost:5432/sirius-development\nELASTIC_URL=http://localhost:9200\nOAUTH_CLIENT_ID=xxx-xxxx-xxxx\nOAUTH_CLIENT_SECRET=yyyyyyyyy\n```\n\n## Running server and rake tasks\n\nTo start the API server, just run `foreman start`. If everything is configured properly, server should start and be\naccessible on port 5000 by default.\n\nTo load parallels from KOSapi and and schedule them, call `foreman run rake sirius:events`. Or you can call individual tasks:\n\n* `sirius:events:import` - fetches parallels from KOSapi to local database\n* `sirius:events:import_students` - fetches students assigned to stored parallels\n* `sirius:events:plan` - plans stored parallels\n* `sirius:events:assign_people` - assigns people (students and teachers) to planned events\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcvut%2Fsirius","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcvut%2Fsirius","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcvut%2Fsirius/lists"}