Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stephancill/opencast
A fully open source Twitter flavoured Farcaster client
https://github.com/stephancill/opencast
farcaster
Last synced: 8 days ago
JSON representation
A fully open source Twitter flavoured Farcaster client
- Host: GitHub
- URL: https://github.com/stephancill/opencast
- Owner: stephancill
- License: mit
- Created: 2023-08-08T15:52:53.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-08T18:52:16.000Z (8 months ago)
- Last Synced: 2024-04-14T04:07:12.169Z (8 months ago)
- Topics: farcaster
- Language: TypeScript
- Homepage: https://opencast.stephancill.co.za
- Size: 2.9 MB
- Stars: 158
- Watchers: 7
- Forks: 27
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-farcaster-dev - `opencast`
- awesome-farcaster-dev - `opencast`
README
# Opencast
A fully open source Twitter flavoured Farcaster client. Originally a fork of [ccrsxx/twitter-clone](https://github.com/ccrsxx/twitter-clone).
The 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.
## Running it yourself
### Prerequisites
- [Docker](https://docs.docker.com/engine/install/)
1. Clone the repo
```
git clone [email protected]:stephancill/opencast.git
```2. Copy .env.sample, rename it to .env and fill in the values
```
cp .env.sample .env
```3. Run the Docker Compose file
```
docker-compose up -d
```4. 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.
## Development
### Farcaster Indexer
This 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.
### Local
Install dependencies
```
yarn install
```Fill in the environment variables
```
cp .env.dev.sample .env
```Run the development server
```
yarn dev
```## Todo
- [ ] Feed
- [x] Reverse chronological feed
- [x] Pagination
- [x] Number of likes, comments, and reposts
- [ ] Recasts
- [x] Cast detail
- [x] Number of likes, comments, and reposts
- [x] Paginated replies
- [x] User profiles
- [x] Casts
- [x] Casts with replies
- [ ] Media
- [x] Likes
- [ ] Edit profile
- [x] Auth
- [x] Engagement actions
- [x] Post creation
- [x] Text only
- [x] Media
- [x] Mentions
- [x] Embeds
- [x] Topic
- [x] Post deletion
- [ ] Search
- [x] User
- [ ] Topic
- [ ] Posts
- [x] Channels (now called Topics)
- [x] Channel detail
- [x] Channel discovery
- [ ] Index channels
- [x] Fix mobile layout
- [ ] Rebrand
- [x] Renaming (casts -> tweets, etc)
- [x] Images
- [ ] Code
- [x] Notifications
- [x] Badge counter
- [x] Notifications page
- [ ] Optimize
- [ ] DB queries
- [ ] Bandwidth...