/twitter-clone

Twitter Clone made with Remix, EdgeDB & UnoCSS. (Developing)

Primary LanguageTypeScript

Twitter Clone

Twitter clone made with Remix, EdgeDB & UnoCSS.

Demo: 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, then in this project directory run (the initializer prompts to do this for you):

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.

pnpm codegen

3. Seed the database

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 with "Authorization callback URL" as:

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.

pnpm dev

Go to localhost:3000, create an account with your GitHub account, and explore the application.