A full-stack platform for developers to share projects, collaborate, and connect. Built with modern web technologies and featuring real-time interactions.
-
👥 Social Sharing
- Share projects with markdown descriptions
- Like/Bookmark interesting projects
- Report inappropriate content
- Public/Private project visibility
-
💬 Real-time Chat
- WebSocket-based messaging
- Direct messages & group channels
- Code snippet sharing
-
🔐 Secure Authentication
- NextAuth with Google/GitHub/Email
- Session management
- Role-based access control
-
🛠️ Developer Tools
- Project versioning
- Code preview embeds
- API documentation sharing
-
Frontend:
- Next.js 14 (App Router)
- TypeScript 5.3
- Tailwind CSS 4
- shadcn/ui
- NextAuth.js
-
Backend:
- NestJS 15
- Prisma 5 + PostgreSQL (Neon)
- WebSockets (Socket.io)
- Redis for caching
-
Tooling:
- pnpm workspace
- Zod validation
- Vitest for testing
- Node.js 18+
- PostgreSQL (Neon recommended)
- Redis server
- OAuth credentials (Google/GitHub)
-
Clone repository
git clone https://github.com/devalentineomonya/DevalShare-NextJs-TS-Prizma.git cd DevalShare-NextJs-TS-Prizma
-
Install dependencies (using pnpm)
pnpm install
-
Configure environment variables
# .env DATABASE_URL="postgresql://user:pass@neon-hostname/project" REDIS_URL="redis://localhost:6379" NEXTAUTH_SECRET="your-secure-key" NEXTAUTH_URL=http://localhost:3000
-
Database Setup
pnpm prisma generate pnpm prisma migrate dev
-
Run development servers
pnpm dev
- Create projects with title/description/tags
- Upload code samples or link repositories
- Set visibility (public/private)
- Share via unique URL
- Comment on projects
- Fork public projects
- Request collaboration
- Real-time code review
// Example WebSocket handler
socket.on('message', (message: ChatMessage) => {
broadcastToRoom(message.roomId, 'new_message', message);
});
- Click "Report" on any content
- Select reason (spam/inappropriate/etc)
- Admins receive real-time notifications
- Automated content moderation
FROM node:18-alpine
WORKDIR /app
COPY package.json pnpm-lock.yaml ./
RUN corepack enable && pnpm install
COPY . .
CMD ["pnpm", "start:backend"]
MIT - See LICENSE for details