Skip to content

A full-stack platform for developers to share projects, collaborate, and connect. Built with modern web technologies and featuring real-time interactions.

Notifications You must be signed in to change notification settings

devalentineomonya/DevalShare-NextJs-TS-Prizma

Repository files navigation

DevalShare - Developer Collaboration Platform

Next.js Prisma Neon pnpm

A full-stack platform for developers to share projects, collaborate, and connect. Built with modern web technologies and featuring real-time interactions.

DevalShare Preview

🚀 Key Features

  • 👥 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

💻 Tech Stack

  • 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

🛠️ Getting Started

Prerequisites

  • Node.js 18+
  • PostgreSQL (Neon recommended)
  • Redis server
  • OAuth credentials (Google/GitHub)

Installation

  1. Clone repository

    git clone https://github.com/devalentineomonya/DevalShare-NextJs-TS-Prizma.git
    cd DevalShare-NextJs-TS-Prizma
  2. Install dependencies (using pnpm)

    pnpm install
  3. 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
  4. Database Setup

    pnpm prisma generate
    pnpm prisma migrate dev
  5. Run development servers

    pnpm dev
    

🌟 Social Features

Project Sharing

  1. Create projects with title/description/tags
  2. Upload code samples or link repositories
  3. Set visibility (public/private)
  4. Share via unique URL

Collaboration

  • Comment on projects
  • Fork public projects
  • Request collaboration
  • Real-time code review

Chat System

// Example WebSocket handler
socket.on('message', (message: ChatMessage) => {
  broadcastToRoom(message.roomId, 'new_message', message);
});

🚨 Reporting System

  1. Click "Report" on any content
  2. Select reason (spam/inappropriate/etc)
  3. Admins receive real-time notifications
  4. Automated content moderation

📦 Deployment

Frontend (Vercel)

Deploy with Vercel

Backend (Docker)

FROM node:18-alpine
WORKDIR /app
COPY package.json pnpm-lock.yaml ./
RUN corepack enable && pnpm install
COPY . .
CMD ["pnpm", "start:backend"]

📄 License

MIT - See LICENSE for details

About

A full-stack platform for developers to share projects, collaborate, and connect. Built with modern web technologies and featuring real-time interactions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages