https://github.com/malekd5/tweeter
(WORK IN PROGRESS) Twitter clone using NextJs 14, Drizzle, and Uploadthing
https://github.com/malekd5/tweeter
cockroachdb drizzle-orm nextjs nextjs14 postgres shadcn-ui tailwindcss typescript uploadthing zod
Last synced: about 2 months ago
JSON representation
(WORK IN PROGRESS) Twitter clone using NextJs 14, Drizzle, and Uploadthing
- Host: GitHub
- URL: https://github.com/malekd5/tweeter
- Owner: MalekD5
- Created: 2023-01-09T20:41:27.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-25T12:19:51.000Z (over 1 year ago)
- Last Synced: 2025-01-22T02:12:28.970Z (about 1 year ago)
- Topics: cockroachdb, drizzle-orm, nextjs, nextjs14, postgres, shadcn-ui, tailwindcss, typescript, uploadthing, zod
- Language: TypeScript
- Homepage:
- Size: 896 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tweeter
Tweeter is a Twitter/X clone built with Next.js 14.
## 📁 Folder Structure
- `app/`:
Application routes using the Next.js App Router, including layouts, pages, route groups, and API endpoints (under `app/api/`).
- `components/`:
Reusable React components, organized by feature (e.g., `tweet/`, `layout/`) and base UI primitives under `ui/`.
- `lib/`:
Utility functions, configuration files, and foundational code such as `db.ts` (Prisma client), `auth/`, and shared constants.
- `models/`:
Optional domain model definitions or abstractions with Drizzle ORM
- `services/`:
Business logic and data access layer. Each file encapsulates logic related to a domain (e.g., `tweet.service.ts`, `auth.service.ts`).
- `hooks/`:
Custom React hooks for abstracting logic like authentication state or tweet interactions (`useAuth`, `useTweetActions`).
- `context/`:
React Context providers for app-wide state like authentication or UI preferences.
- `types/`:
Global TypeScript types and interfaces used across the app for consistency in API, components, and services.
- `public/`:
Static files such as images, icons, and web fonts (e.g., `fonts/chirp-*.woff`). Accessible via the root URL.
- `tests/`:
Contains unit and integration tests, typically organized to mirror the `services/` or `components/` structure.