{"id":18936328,"url":"https://github.com/shellbear/epical","last_synced_at":"2026-03-21T03:30:14.394Z","repository":{"id":57628079,"uuid":"206069375","full_name":"shellbear/epical","owner":"shellbear","description":"Synchronize your Epitech events with Google calendar","archived":false,"fork":false,"pushed_at":"2023-02-25T03:58:28.000Z","size":5621,"stargazers_count":3,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-31T21:24:16.342Z","etag":null,"topics":["epitech","epitech-intra","go","golang","google","google-calendar","google-calendar-api"],"latest_commit_sha":null,"homepage":"","language":"Go","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/shellbear.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":"2019-09-03T12:15:03.000Z","updated_at":"2022-11-04T15:46:24.000Z","dependencies_parsed_at":"2024-06-20T07:01:30.862Z","dependency_job_id":"dec41a54-ac5e-47c2-b59c-d8a0d350a33a","html_url":"https://github.com/shellbear/epical","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellbear%2Fepical","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellbear%2Fepical/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellbear%2Fepical/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shellbear%2Fepical/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shellbear","download_url":"https://codeload.github.com/shellbear/epical/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239937701,"owners_count":19721482,"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":["epitech","epitech-intra","go","golang","google","google-calendar","google-calendar-api"],"created_at":"2024-11-08T12:07:01.013Z","updated_at":"2026-03-21T03:30:14.327Z","avatar_url":"https://github.com/shellbear.png","language":"Go","readme":"# EpiCal\nA simple tool to synchronize your Epitech events with Google calendar.\n\n# Requirements\n\n#### Epitech token\nTo run this script you have to use your Epitech auto login token which can be found [here](https://intra.epitech.eu/admin/autolog).\nThe URL is of the form `https://intra.epitech.eu/auth-XXX...`\nThe token used by the script is only the right part of the URL after the `auth-` part.\n\n#### Google calendar credentials\n\nYou have to enable the Google Calendar API for your account.\nYou can follow the [Google developer QuickStart](https://developers.google.com/calendar/quickstart/go) and click **ENABLE THE GOOGLE CALENDAR API** button.\nThen in the resulting dialog click **DOWNLOAD CLIENT CONFIGURATION** and save the file credentials.json to your working directory.\n\n## Installation\n\n#### With go CLI\n```bash\ngo get -v -u github.com/ShellBear/epical/...\nepical version\n```\n\n#### Direct download\n\nYou can also download the binaries from the [releases](https://github.com/ShellBear/epical/releases) page.\n\n## Commands\n\n### Sync\nA command to synchronize Epitech events with your Google calendar. \n```bash\n./epical --token YOUR_EPITECH_AUTOLOGIN_TOKEN sync\n```\n\n### List\nA command to list Epitech events. \n```bash\n./epical --token YOUR_EPITECH_AUTOLOGIN_TOKEN list\n```\n\n### Clear\nDelete all events previously created by EpiCal.\n```bash\n./epical clear\n```\n\n## Options\n\n#### Credentials\n\nYou can specify the Google Calendar API folder path containing `credentials.json` and `token.json` files using the `--credentials` or `-c` option.\n\n```bash\n./epical --token YOUR_EPITECH_AUTOLOGIN_TOKEN --credentials /run/secrets/ sync\n```\n\n## Usage\n\nThe easiest way to run this tool is to execute it with a periodic cron job.\n\nFirst, you need to generate the `token.json` file, which is the Google Calendar API token file.\nMake sure you have the file `credentials.json` and then run the script for the first time:\n\nIf the `credentials.json` file is in your current directory then you can just do:\n```bash\nepical --token YOUR_EPITECH_AUTOLOGIN_TOKEN\n```\n\nOtherwise, you can specify the path of the folder where it can be found:\n```bash\nepical --token YOUR_EPITECH_AUTOLOGIN_TOKEN --credentials /run/secrets/\n```\n\nThen a message will appear:\n\n```\nGo to the following link in your browser then type the authorization code: \nhttps://accounts.google.com/o/oauth2/auth...\n```\n\nJust open this link in a browser, sign in with your google account, and paste the code you received.\nThen, the `token.json` will be generated automatically.\n\nFinally, make sure that cron is installed and that the `/etc/cron.hourly` folder exists.\nJust create a script in the `/etc/cron.hourly` directory or any other cron directory of your choice:\n\n```bash\n\u003e cat /etc/cron.hourly/epical\n#!/bin/sh\n\nEPICAL_BINARY_PATH/epical --token YOUR_EPITECH_AUTOLOGIN_TOKEN -c CREDENTIALS_AND_TOKEN_FOLDER_PATH sync\n```\n\nThen give execute permission to the script and check that everything is working correctly:\n\n```bash\nchmod +x /etc/cron.hourly/epical\nrun-parts -v /etc/cron.hourly/\n```\n\nCongrats, you're done!\n\n## Built With\n\n- [cobra](https://github.com/spf13/cobra) - A Commander for modern Go CLI interactions\n- [google-api-go-client](https://github.com/googleapis/google-api-go-client) - Google APIs for Go\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshellbear%2Fepical","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshellbear%2Fepical","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshellbear%2Fepical/lists"}