Twitter Clone made with SvelteKit and SQLite
This is a rough summary of the features of Twelte.
- Intuitive and Responsive UI
- User authentication
- Email verification
- Password reset
- Account Page
- Profile Page
- Avatar upload
- Create Posts
- Like Posts
- Reply to Posts
- Automatic Hashtags generation
- Follow other users
- Feed with all posts
- Feed with followed posts
- Infinite Loading
- Page with popular hashtags
- Notifications
- Notification settings
Everything is self-made as far as possible. This includes in particular a self-made authentication process, and the usage of raw SQL.
See DATABASE.md.
pnpm dev: Start the development serverpnpm build: Build the application
pnpm db:migrate: Runs the migrations (local + remote).pnpm db:shell: Opens the SQL shell (local).pnpm db:remote: Opens the SQL shell (remote).pnpm db:kill: Deletes the local database file.pnpm db:erd: Creates the diagram inDATABASE.mdfrom the local database.
- SvelteKit (framework)
- libsql (queries to SQLite database)
- Turso (deployment of SQLite database)
- Netlify (deployment of the application)
- Netlify Functions (scheduled database cleanup)
- bcrypt (hashing of passwords)
- cloudinary (image upload)
- nodemailer (emails)
- Zod (data verification and parsing)