Proxy-Press is a modern, full-stack news and social networking web application.
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Database: PostgreSQL via Supabase
- ORM: Drizzle ORM
- Authentication: Custom JWT-based Auth & NextAuth (OAuth)
- Media Storage: Cloudinary
- Styling: Vanilla CSS / CSS Modules
- Dynamic Feed: A premium, news-app-style homepage feed with a sticky, frosted-glass header.
- Social Features: Profiles, Follows, Likes, Saves, and nested Comments.
- Real-time Messaging: Direct messaging with vanish mode, media attachments, and read receipts.
- Stories: Ephemeral content (images, videos, text) that disappears after 24 hours.
- Privacy & Safety: User blocking, muting, reporting, and customizable comment/mention privacy settings.
You need Node.js installed, as well as accounts for Supabase and Cloudinary.
Rename .env.local.example (or create a .env.local file) and provide the following variables:
# Database
DATABASE_URL="postgresql://postgres.[your-project]:[password]@aws-0-[region].pooler.supabase.com:6543/postgres"
# Auth
AUTH_SECRET="generate-a-32-char-random-string"
NEXTAUTH_URL="http://localhost:3000" # Change for production
GOOGLE_CLIENT_ID=""
GOOGLE_CLIENT_SECRET=""
GITHUB_ID=""
GITHUB_SECRET=""
# Cloudinary Storage
CLOUDINARY_CLOUD_NAME=""
CLOUDINARY_API_KEY=""
CLOUDINARY_API_SECRET=""- Install dependencies:
npm install- Push the database schema to Supabase:
npx drizzle-kit push- Run the development server:
npm run devOpen http://localhost:3000 with your browser to see the application.
This project is optimized for deployment on Vercel. Make sure to configure all environment variables in the Vercel dashboard before deploying.