Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/prthub/socio
Socio is a platform for communities to connect with one another. It is a cloud-based social chat platform that allows users to communicate with one another in real-time.
https://github.com/prthub/socio
livekit-sdk neondb nextjs14 postgresql prisma shadcn-ui socket-io tailwindcss web-sockets
Last synced: 6 days ago
JSON representation
Socio is a platform for communities to connect with one another. It is a cloud-based social chat platform that allows users to communicate with one another in real-time.
- Host: GitHub
- URL: https://github.com/prthub/socio
- Owner: PrtHub
- Created: 2024-10-13T13:02:30.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-11-04T15:21:19.000Z (10 days ago)
- Last Synced: 2024-11-04T16:18:11.706Z (10 days ago)
- Topics: livekit-sdk, neondb, nextjs14, postgresql, prisma, shadcn-ui, socket-io, tailwindcss, web-sockets
- Language: TypeScript
- Homepage: https://socio.up.railway.app
- Size: 1.03 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Socio 🚀
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.
![image](https://github.com/user-attachments/assets/f9784cff-5bd9-45a7-b521-683940f9bca8)
## ✨ Features
- **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## 🛠️ Tech Stack
- 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## 🚀 Getting Started
### Prerequisites
- Node.js 18+
- PostgreSQL
- NPM or Yarn### Installation
1. Clone the repository
```bash
git clone https://github.com/PrtHub/socio.git
cd socio
```2. Install dependencies
```bash
npm install
# or
yarn install
```3. Set up environment variables
```bash
cp .env.example .env
```4. Update the `.env` file with your credentials:
```env
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=
```5. Run database migrations
```bash
npx prisma migrate dev
```6. Start the development server
```bash
npm run dev
# or
yarn dev
```Visit `http://localhost:3000` to see your app running!
## 📝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the project
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request## 🙏 Acknowledgments
- Discord for inspiration
- All the amazing open-source libraries that made this possible
- Our wonderful community of contributors## 📞 Contact
Your Name - [@PritamGhosh](https://x.com/PritamGhosh010)
Project Link: [https://socio.up.railway.app](https://socio.up.railway.app)
---
⭐️ Star on GitHub — it helps!