An open API service indexing awesome lists of open source software.

https://github.com/naseralmuhana/konnect

A full-featured social media web app where users can connect, explore trending content, and engage with the community. Built using Next.js 15, PostgreSQL, Prisma, TailwindCSS and more.
https://github.com/naseralmuhana/konnect

better-auth nextjs postgresql prisma reactjs shadcn-ui social-media tailwindcss typescript uploadthings

Last synced: about 1 year ago
JSON representation

A full-featured social media web app where users can connect, explore trending content, and engage with the community. Built using Next.js 15, PostgreSQL, Prisma, TailwindCSS and more.

Awesome Lists containing this project

README

          

# Konnect - Modern Social Networking Platform

Konnect is a full-featured social media web app where users can connect, explore trending content, and engage with the community. Built with modern technologies like **Next.js 15**, **React 19**, **TailwindCSS** and more. Konnect supports rich post types, real-time interactions, and a smooth user experience. From following users to exploring hashtags, Konnect delivers the essence of a modern social platform.

![Konnect Interface Preview](/public/screenshot.png)

## Test Users

- username : **maria**
- password : **123456789**

- username : **john**
- password : **123456789**

## 🌟 Live Demo

- [Home](https://konnect-gules.vercel.app/)
- [Login/Sign up](https://konnect-gules.vercel.app/login)
- [Sample Post](https://konnect-gules.vercel.app/posts/cm98l55b00004cs8cyksv10sv)
- [Search/Hashtags](https://konnect-gules.vercel.app/hashtag/chillvibes)

## 🌟 Key Features

### ✨ Core Social Features

| Feature | Description |
| ----------------------- | -------------------------------------------------------------------- |
| **Smart Post Creation** | Rich content with text, images, videos, and automatic link detection |
| **Intelligent Linking** | `@mentions` link to profiles, `#hashtags` become searchable links |
| **Engagement Tools** | 👍Like, 💬comment, and 🔖bookmark posts |
| **Follow System** | Follow users to see their posts in your Following feed |
| **🔔Notifications** | Real-time alerts for 👍likes, 💬comments, follows, and mentions |
| **Theme System** | ☀️Light - 🌚dark mode |

### 🔍 Discovery Features

| Feature | Description |
| --------------------- | -------------------------------------------------------------- |
| **Unified Search** | Search by username, name, hashtag, or any word in post content |
| **Trending Hashtags** | Discover popular topics in real-time |
| **User Suggestions** | Algorithmically recommended accounts to follow |

### 🔐 Authentication

| Feature | Description |
| ------------------------ | --------------------------------------------- |
| **Multi-provider login** | username/password, Google, and GitHub |
| **Secure sessions** | Session-based authentication with Better-auth |
| **Profile completion** | Onboarding flow for new users |

### 🏡 User Profiles

| Feature | Description |
| ------------------------- | ------------------------------ |
| **Customizable profiles** | Avatar, display name, bio |
| **Content organization** | All user posts in one place |
| **Edit functionality** | Update profile details anytime |

### 🏗️ Technical Stack

**Frontend**

- Next.js 15 (App Router)
- React 19 with Server Components
- TailwindCSS v4 + ShadCN UI
- React query for caching and clint fetching
- Uploadthing for media uploads

**Backend**

- Prisma ORM
- PostgreSQL (NeonDB)
- Better-auth for authentication
- API Routes
- Server Actions

## License

MIT License

Copyright (c) [2025] [Naser Almuhana]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall