https://github.com/tanishbasu2002/hackhubb
Fullstack Web Ecosystem for Developers
https://github.com/tanishbasu2002/hackhubb
clerkauth hacktoberfest livekit mongoose mux mysql nextjs13 nextui prisma-orm shadcn-ui socket-io typescript websocket-chat
Last synced: 7 months ago
JSON representation
Fullstack Web Ecosystem for Developers
- Host: GitHub
- URL: https://github.com/tanishbasu2002/hackhubb
- Owner: TanishBasu2002
- Created: 2023-08-04T16:37:43.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-04T16:21:01.000Z (over 1 year ago)
- Last Synced: 2024-03-04T17:59:33.627Z (over 1 year ago)
- Topics: clerkauth, hacktoberfest, livekit, mongoose, mux, mysql, nextjs13, nextui, prisma-orm, shadcn-ui, socket-io, typescript, websocket-chat
- Language: TypeScript
- Homepage: https://hackhubb.vercel.app
- Size: 227 MB
- Stars: 5
- Watchers: 1
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Fullstack Web Ecosystem for Developers:
![]()
## Main Technologies:
![]()
Features:- Image Sharing both Personal and in community
- fast and interactive webflow
- Real-time messaging using Socket.io
- Send attachments as messages using UploadThing
- Delete & Edit messages in real time for all users
- Create Text, Audio and Video call Channels
- 1:1 conversation between members
- 1:1 video calls between members
- Member management (Kick, Role change Guest / Moderator)
- Unique invite link generation & full working invite system
- Infinite loading for messages and posts in batches of 10 (tanstack/query)
- Server creation and customization
- Beautiful UI using TailwindCSS and ShadcnUI
- Full responsivity and mobile UI
- Websocket fallback: Polling with alerts
- ORM using Prisma
- SQL Database integration
- Authentication with Clerk### Prerequisites
**Node version 18.x.x**
### Cloning the repository
```shell
git clone https://github.com/TanishBasu2002/HackHubb.git
```### Install packages
```shell
npm i
```### Setup .env file
```js
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=
NEXT_PUBLIC_CLERK_SIGN_UP_URL=
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=NEXT_CLERK_WEBHOOK_SECRET=
MONGODB_URL=
DATABASE_URL=
MUX_TOKEN_SECRET=
MUX_TOKEN_ID=
STRIPE_API_KEY=
NEXT_PUBLIC_APP_URL=http://localhost:3000
STRIPE_WEBHOOK_SECRET=
UPLOADTHING_SECRET=
UPLOADTHING_APP_ID=LIVEKIT_API_KEY=
LIVEKIT_API_SECRET=
NEXT_PUBLIC_LIVEKIT_URL=
```### Setup Prisma
Add MySQL Database (I used PlanetScale)
```shell
npx prisma generate
npx prisma db push```
### Start the app
```shell
npm run dev
```## Available commands
Running commands with npm `npm run [command]`
| command | description |
| :------ | :--------------------------------------- |
| `dev` | Starts a development instance of the app |