Socio is more than just a chat application – it's a comprehensive community platform that combines the power of real-time communication with modern social features. Built with the latest web technologies, it offers a smooth, intuitive experience that feels native across all devices.
- Real-time Communication - Instant messaging powered by Socket.IO
- Server Creation - Create and manage your own communities
- Channels - Text, voice, and video channels for diverse communication needs
- Direct Messaging - Private conversations between users
- Role-based Permissions - Granular control over user access and capabilities
- File Sharing - Easy file uploads and sharing via UploadThing
- Rich Media Support - Share images, pdfs, and other media formats
- Video Calls - Crystal-clear video communication using LiveKit
- Authentication - Secure user authentication powered by Clerk
- Responsive Design - Seamless experience across all devices
- Next.js 14 - React framework for production
- TailwindCSS - Utility-first CSS framework
- Shadcn UI - Pre-built UI components
- Zustand - State management
- Axios - HTTP client
- Query String - URL query string parsing
- Socket.IO - Real-time bidirectional communication
- PostgreSQL - Primary database (hosted on NeonDB)
- Prisma - Type-safe ORM
- Zod - TypeScript-first schema validation
- LiveKit SDK - Video streaming capabilities
- Clerk - Authentication and user management
- Node.js 18+
- PostgreSQL
- NPM or Yarn
- Clone the repository
git clone https://github.com/PrtHub/socio.git
cd socio
- Install dependencies
npm install
# or
yarn install
- Set up environment variables
cp .env.example .env
- Update the
.env
file with your credentials:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_SIGN_IN_FALLBACK_REDIRECT_URL=/
NEXT_PUBLIC_CLERK_SIGN_UP_FALLBACK_REDIRECT_URL=/
NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL=/
NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL=/
DATABASE_URL=
UPLOADTHING_TOKEN=
UPLOADTHING_SECRET=
NEXT_PUBLIC_SITE_URL=
LIVEKIT_API_KEY=
LIVEKIT_API_SECRET=
NEXT_PUBLIC_LIVEKIT_URL=
- Run database migrations
npx prisma migrate dev
- Start the development server
npm run dev
# or
yarn dev
Visit http://localhost:3000
to see your app running!
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- Discord for inspiration
- All the amazing open-source libraries that made this possible
- Our wonderful community of contributors
Your Name - @PritamGhosh
Project Link: https://socio.up.railway.app
⭐️ Star on GitHub — it helps!