Skip to content

Jsaperrr/SocialNext

Repository files navigation

🚀 SocialNext

A lightweight, modern social media platform built with Next.js 14

🌐 English | 中文

Next.js React TypeScript Tailwind Prisma PostgreSQL

Clerk UploadThing Radix UI

License Deploy


🎯 Overview

SocialNext is a full-featured social media platform designed for speed, simplicity, and scalability. Built with the modern web stack, it offers everything you need to launch your own social network in minutes.

✨ Features

Feature Description
🔐 Authentication Secure user auth powered by Clerk
📝 Posts Create, edit, and delete posts with rich content
💬 Comments Engage in threaded discussions
❤️ Likes Like and unlike posts in real-time
👥 Follow System Follow/unfollow users, build your network
🔔 Notifications Get notified for likes, comments, and follows
🖼️ Media Upload Image uploads via UploadThing
👤 Profiles Customizable user profiles with bios, locations, and more
🎨 Dark Mode Built-in dark/light theme support
📱 Responsive Mobile-first, works on all devices

🛠️ Tech Stack

Next.js 14 (App Router)     →  React Framework
TypeScript                  →  Type Safety
Tailwind CSS + shadcn/ui    →  Styling
Prisma + PostgreSQL         →  Database
Clerk                       →  Authentication
UploadThing                 →  File Uploads

🚀 Quick Start

Prerequisites

  • Node.js 18+
  • PostgreSQL database
  • Clerk account
  • UploadThing account

1. Clone & Install

git clone https://github.com/yourusername/socialnext.git
cd socialnext
npm install

2. Environment Setup

Create a .env.local file:

# Database
DATABASE_URL="postgresql://user:password@localhost:5432/socialnext"

# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...
CLERK_SECRET_KEY=sk_test_...
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/

# UploadThing
UPLOADTHING_TOKEN=...

3. Database Setup

npx prisma generate
npx prisma db push

4. Run Development Server

npm run dev

Open http://localhost:3000 🎉

📦 Deployment

Deploy with Vercel

The easiest way to deploy is via Vercel. Don't forget to add your environment variables in the Vercel dashboard!

📝 License

MIT License - feel free to use this for your own projects!


Made with ❤️ using Next.js

⭐ Star this repo🐛 Report Bug🔀 Contribute

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors