Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pokedotdev/twitter-clone
Twitter Clone made with Remix, EdgeDB & UnoCSS. (Developing)
https://github.com/pokedotdev/twitter-clone
edgedb pnpm react reactjs remix remix-run social social-app twitter twitter-clone unocss vite vitejs x-clone
Last synced: 21 days ago
JSON representation
Twitter Clone made with Remix, EdgeDB & UnoCSS. (Developing)
- Host: GitHub
- URL: https://github.com/pokedotdev/twitter-clone
- Owner: pokedotdev
- Created: 2022-07-22T10:12:06.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-06T17:04:54.000Z (about 1 year ago)
- Last Synced: 2024-11-02T06:34:22.838Z (about 2 months ago)
- Topics: edgedb, pnpm, react, reactjs, remix, remix-run, social, social-app, twitter, twitter-clone, unocss, vite, vitejs, x-clone
- Language: TypeScript
- Homepage: https://twitter-clone.poke.dev
- Size: 1.57 MB
- Stars: 18
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-edgedb - Twitter Clone - A Twitter clone built using Remix, UnoCSS and EdgeDB. (Applications)
README
# Twitter Clone
Twitter clone made with Remix, EdgeDB & UnoCSS.
**Demo**: [twitter-clone.poke.dev](https://twitter-clone.poke.dev)
### Features
- Authentication (GitHub)
- Creating Posts
- Post Likes
- Post Comments
- User Profiles
- Follow User### Upcoming features
- Edit Profile & Settings
- Repost
- Bookmarks
- Threads
- Hashtags & Mentions
- Search for Posts & Users
- Dark Mode
- Optimistic UI
- Cache (for faster loading)## Development
### 1. Initialize an EdgeDB project
First install the cli via the [EdgeDB installation guide](https://www.edgedb.com/docs/guides/quickstart), then in this project directory run (the initializer prompts to do this for you):
```sh
edgedb project init # Initialize a local db instance
```This creates an EdgeDB instance and applies all migrations from `dbschema/migrations`.
### 2. Codegen
Generate code for EdgeDB, UnoCSS and Remix.
```sh
pnpm codegen
```### 3. Seed the database
```sh
pnpm db:seed
```This creates a user with the username "test", in order to interact with it.
### 4. GitHub OAuth
Configure a [GitHub OAuth application](https://github.com/settings/applications/new) with "**Authorization callback URL**" as:
```txt
http://localhost:3000/auth/callback/github
```### 5. Create `.env`
Rename the file `.env.example` to `.env` and only change the values of the variables.
### 6. Start the server
This starts your app in development mode.
```sh
pnpm dev
```Go to [localhost:3000](http://localhost:3000), create an account with your GitHub account, and explore the application.