"The premier platform for high-IQ discourse."
Xitter is a full-stack parody of X (formerly Twitter) built to showcase modern web development skills with a satirical twist. Beyond standard social features, it introduces a "meritocratic" system where your engagement power is tied to your IQ Score.
- Secure Login: Powered by NextAuth.js.
- User Profiles: Custom bios, avatars, and detailed stats.
- IQ Testing: Users must take a built-in IQ test to determine their "social standing" on the platform.
- Strict Limits: Titles are capped at 69 characters and content at 420 characters for maximum efficiency.
- Rich Interaction: Create posts, comment on threads, and engage with the community.
- Follow System: Build your network by following other "intellectuals."
- Reactions: Like posts to boost their visibility.
- Activity Feed: A personalized feed of content from people you follow.
- Global Reach: Discover what's popular in the Trending section.
- Leaderboards: Compete for the top spot based on IQ score and engagement metrics.
- Notifications: Real-time alerts for likes, comments, and new followers.
Built with the cutting-edge T3 Stack philosophy:
- Framework: Next.js 15 (App Router & Server Actions)
- Language: TypeScript
- Styling: Tailwind CSS 4
- Database: PostgreSQL (via Prisma ORM)
- Caching: Redis (for high-performance data patterns)
- Auth: NextAuth.js
- Icons: Lucide React
Follow these steps to set up the project locally.
- Node.js 18+
- PostgreSQL
- Redis (optional, but recommended for full features)
-
Clone the repository
git clone https://github.com/gu_dahora/xitter.git cd xitter -
Install dependencies
npm install
-
Environment Setup Copy the example environment file and configure your variables:
cp .env.example .env
Make sure to fill in
DATABASE_URL,NEXTAUTH_SECRET, andDIRECT_URL. -
Database Setup Run migrations to set up your schema:
npx prisma migrate dev
-
Run the application Start the development server:
npm run dev
Visit
http://localhost:3000to start Xitting.
This project utilizes the Next.js App Router for a modern, server-first approach.
/app: Contains all routes, pages, and layouts./components: Reusable UI components (buttons, cards, modals)./prisma: Database schema and migration history./lib: Utility functions, shared logic, and configuration.- Server Actions: Mutations (posting, liking, following) are handled via Next.js Server Actions for type safety and reduced client-side JavaScript.
Contributions are welcome! If you have a funny idea or a bug fix, feel free to open a PR.
Developed by Gu DaHora.
Disclaimer: This is a parody project for educational and portfolio purposes.