{"id":15427457,"url":"https://github.com/stephancill/opencast","last_synced_at":"2025-05-07T10:42:14.486Z","repository":{"id":187021740,"uuid":"676178586","full_name":"stephancill/opencast","owner":"stephancill","description":"A fully open source Twitter flavoured Farcaster client","archived":false,"fork":false,"pushed_at":"2024-04-08T18:52:16.000Z","size":3046,"stargazers_count":158,"open_issues_count":24,"forks_count":27,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-04-14T04:07:12.169Z","etag":null,"topics":["farcaster"],"latest_commit_sha":null,"homepage":"https://opencast.stephancill.co.za","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"ccrsxx/twitter-clone","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stephancill.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":"2023-08-08T15:52:53.000Z","updated_at":"2024-06-02T18:45:39.375Z","dependencies_parsed_at":"2023-08-13T00:44:01.354Z","dependency_job_id":"6c07af5f-09c4-4d1d-ab43-9b244142adea","html_url":"https://github.com/stephancill/opencast","commit_stats":null,"previous_names":["stephancill/twitter-farcaster-client","stephancill/opencast"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephancill%2Fopencast","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephancill%2Fopencast/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephancill%2Fopencast/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephancill%2Fopencast/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stephancill","download_url":"https://codeload.github.com/stephancill/opencast/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252862007,"owners_count":21815777,"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":["farcaster"],"created_at":"2024-10-01T18:00:24.507Z","updated_at":"2025-05-07T10:42:14.460Z","avatar_url":"https://github.com/stephancill.png","language":"TypeScript","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"# Opencast\n\nA fully open source Twitter flavoured Farcaster client. Originally a fork of [ccrsxx/twitter-clone](https://github.com/ccrsxx/twitter-clone).\n\nThe goal of this project is to be a fully standalone Farcaster client that you can run on your own machine. It only depends on [stephancill/lazy-indexer](https://github.com/stephancill/lazy-indexer) and a connection to a Farcaster Hub.\n\n## Running it yourself\n\n### Prerequisites\n\n- [Docker](https://docs.docker.com/engine/install/)\n\n1. Clone the repo\n\n```\ngit clone git@github.com:stephancill/opencast.git\n```\n\n2. Copy .env.sample, rename it to .env and fill in the values\n\n```\ncp .env.sample .env\n```\n\n3. Run the Docker Compose file\n\n```\ndocker-compose up -d\n```\n\n4. Go to Opencast at http://localhost:3000 and log in. It will take a few moments to index your profile and might require you to refresh the page.\n\n## Development\n\n### Farcaster Indexer\n\nThis project depends on the Lazy Farcaster Indexer. Follow the instructions at [https://github.com/stephancill/lazy-indexer](https://github.com/stephancill/lazy-indexer) to set up an instance.\n\n### Local\n\nInstall dependencies\n\n```\nyarn install\n```\n\nFill in the environment variables\n\n```\ncp .env.dev.sample .env\n```\n\nRun the development server\n\n```\nyarn dev\n```\n\n## Todo\n\n- [ ] Feed\n  - [x] Reverse chronological feed\n  - [x] Pagination\n  - [x] Number of likes, comments, and reposts\n  - [ ] Recasts\n- [x] Cast detail\n  - [x] Number of likes, comments, and reposts\n  - [x] Paginated replies\n- [x] User profiles\n  - [x] Casts\n  - [x] Casts with replies\n  - [ ] Media\n  - [x] Likes\n  - [ ] Edit profile\n- [x] Auth\n- [x] Engagement actions\n- [x] Post creation\n  - [x] Text only\n  - [x] Media\n  - [x] Mentions\n  - [x] Embeds\n  - [x] Topic\n- [x] Post deletion\n- [ ] Search\n  - [x] User\n  - [ ] Topic\n  - [ ] Posts\n- [x] Channels (now called Topics)\n  - [x] Channel detail\n  - [x] Channel discovery\n  - [ ] Index channels\n- [x] Fix mobile layout\n- [ ] Rebrand\n  - [x] Renaming (casts -\u003e tweets, etc)\n  - [x] Images\n  - [ ] Code\n- [x] Notifications\n  - [x] Badge counter\n  - [x] Notifications page\n- [ ] Optimize\n  - [ ] DB queries\n  - [ ] Bandwidth\n\n...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephancill%2Fopencast","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstephancill%2Fopencast","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephancill%2Fopencast/lists"}