{"id":22428180,"url":"https://github.com/radityaharya/showtime","last_synced_at":"2025-08-01T10:32:28.428Z","repository":{"id":193981942,"uuid":"676800235","full_name":"radityaharya/showtime","owner":"radityaharya","description":"Get upcoming schedules from Trakt. Integrate it with your Calendar of choice!","archived":false,"fork":false,"pushed_at":"2024-11-21T17:46:44.000Z","size":1839,"stargazers_count":8,"open_issues_count":19,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-11-21T18:33:22.786Z","etag":null,"topics":["calendar","calendarsync","icalendar","shows","trakt","trakt-api"],"latest_commit_sha":null,"homepage":"https://showtime.radityaharya.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/radityaharya.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"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},"funding":{"github":"radityaharya","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"custom":null}},"created_at":"2023-08-10T03:40:38.000Z","updated_at":"2024-09-29T07:40:10.000Z","dependencies_parsed_at":"2023-10-16T16:17:26.858Z","dependency_job_id":"d6b8eefd-6a5c-478f-bfbc-19863b4df938","html_url":"https://github.com/radityaharya/showtime","commit_stats":null,"previous_names":["radityaharya/showtime"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radityaharya%2Fshowtime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radityaharya%2Fshowtime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radityaharya%2Fshowtime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radityaharya%2Fshowtime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/radityaharya","download_url":"https://codeload.github.com/radityaharya/showtime/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228363983,"owners_count":17908319,"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","calendarsync","icalendar","shows","trakt","trakt-api"],"created_at":"2024-12-05T20:14:02.567Z","updated_at":"2024-12-05T20:14:02.990Z","avatar_url":"https://github.com/radityaharya.png","language":"TypeScript","funding_links":["https://github.com/sponsors/radityaharya"],"categories":["others"],"sub_categories":[],"readme":"\n# Showtime\n\nGet upcoming schedules from Trakt. Integrate it with your Calendar of choice!\n\n\n## Self Hosting\n\n[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/template/GDOxtk?referralCode=radityaharya)\n\nTo selfhost this application on your machine, follow these steps:\n\n### Prerequisites\n\n1. Node.js and npm must be installed on your system. If not, download and install them from the official website: [Node.js Download Page](https://nodejs.org/) or just use [bun](https://bun.sh/) 👀\n\n2. MongoDB should be installed and running. You can download it from the official website: [MongoDB Download Page](https://www.mongodb.com/try/download/community).\n\n3. Redis should be installed and running if your application uses it for caching or other purposes. You can download it from the official website: [Redis Download Page](https://redis.io/download).\n\n### Setup\n\n1. Clone the repository to your local machine:\n\n```bash\ngit clone https://github.com/radityaharya/showtime\n```\n\n2. Navigate to the project directory:\n\n```bash\ncd \u003cproject_directory\u003e\n```\n\n3. Install dependencies:\n\n```bash\nbun install\n```\n```bash\nnpm install\n```\n```bash\npnpm install\n```\n4. Create a `.env.local` file in the root of the project and add the necessary environment variables. Refer to the provided table in the README for a list of required variables.\n\n### Start the Application\n\n1. Start MongoDB:\n\n```bash\n# Start MongoDB (if not running as a service)\nmongod\n```\n\n2. Start Redis (if applicable):\n\n```bash\n# Start Redis (if not running as a service)\nredis-server\n```\n\n3. Start the Next.js application:\n\n```bash\nbun run dev\n```\n```bash\nnpm run dev\n```\n4. The application will be running locally at `http://localhost:3000`. Open a web browser and navigate to this URL to access the application.\n\n5. to build the application, run:\n\n```bash\nbun run build\n```\n```bash\nnpm run build\n```\n\n### Additional Notes\n\n- Make sure to use the application is accessible to the internet as it is needed for calendar providers to get the Calendar data. You can use services such as [ngrok](https://ngrok.com/), [Cloudflare Tunnel](https://www.cloudflare.com/products/tunnel/) to expose your local server to the internet.\n\n## Environment Variables\n\nTo run this project, you will need to add the following environment variables to your .env file\n\n| Environment Variable     | Description                                                                                                      | Example |\n|-------------------------|------------------------------------------------------------------------------------------------------------------|---------|\n| HOST                    | The host where the application is deployed.                                                                     | 0.0.0.0 |\n| PORT                    | The port on which the application will listen for incoming requests.                                             | 3000 |\n| TRAKT_CLIENT_ID         | The client ID used for authenticating with the Trakt API.                                                        | |\n| TRAKT_CLIENT_SECRET     | The client secret used for authenticating with the Trakt API.                                                    | |\n| MONGO_URL               | The URL of the MongoDB instance or database used by the application.                                             | mongodb://your-mongo-url:27017/your-db-name |\n| IMGPROXY_KEY            | A key required for authenticating with the Imgproxy service.                                                      | |\n| IMGPROXY_SALT           | A salt used for generating secure image URLs with Imgproxy.                                                        | |\n| IMGPROXY_URL            | The URL of the Imgproxy service, if used for image processing and manipulation.                                   | |\n| TMDB_API_KEY            | The API key used for authenticating with The Movie Database (TMDb) API.                                          | |\n| TMDB_ACCESS_TOKEN       | An access token required for authenticating with TMDb services.                                                  | |\n| REDIS_URL               | The URL of the Redis server if it's used for caching or other purposes.                                          | redis://your-redis-url:6379/0 |\n| NEXTAUTH_URL            | The URL at which the NextAuth.js authentication service is hosted.                                               | http://localhost:3000 |\n| NEXTAUTH_SECRET         | A secret used by NextAuth.js for cryptographic operations.                                                       | random-secret |\n| NEXTAUTH_DB             | The database connection URL or configuration used by NextAuth.js for user authentication.                         | |\n| SENTRY_AUTH_TOKEN       | An authentication token used for logging errors and exceptions with Sentry.                                      | |\n| NEXT_PUBLIC_SENTRY_DSN  | The Data Source Name (DSN) used for logging errors and exceptions with Sentry.                                   | |\n## Disclaimer\n\nThis project is not affiliated with Trakt. For the best experience and access to advanced features, it is recommended to subscribe to Trakt's VIP plan, which includes iCal integration.\n\nPlease note that this project was created for personal enjoyment and experimentation. It is not an official Trakt product and is not endorsed or supported by Trakt. Use it at your own discretion.\n\nThis project uses the [Trakt API](https://trakt.docs.apiary.io/) to retrieve upcoming schedules. It also uses the [The Movie Database (TMDb) API](https://developers.themoviedb.org/3/getting-started/introduction) to retrieve movie and TV show information.\n\nFor any issues or concerns, please open an issue on GitHub or contact me on [contact@radityaharya.com](mailto:contact@radityaharya.com)\n\nBranding Attributions:\n\u003cdiv style=\"display:flex;justify-content:space-between;\"\u003e\n  \u003cimg src=\"https://www.themoviedb.org/assets/2/v4/logos/v2/blue_square_2-d537fb228cf3ded904ef09b136fe3fec72548ebc1fea3fbbd1ad9e36364db38b.svg\" alt=\"TMDb Logo\" width=\"200\"/\u003e\n  \u003cimg src=\"https://static.radityaharya.com/trakt-wide-red-white.svg\" alt=\"Trakt Logo\" width=\"200\"/\u003e\n\u003c/div\u003e\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradityaharya%2Fshowtime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fradityaharya%2Fshowtime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradityaharya%2Fshowtime/lists"}