Skip to content

JaySavani/DevShowcase

Repository files navigation

🚀 DevShowcase: Community Project Hub

Next.js Tailwind CSS Prisma NextAuth.js TypeScript

DevShowcase is a premium, full-stack community project showcase platform. It provides a centralized hub for developers to discover, share, and discuss innovative open-source projects.


✨ Key Features

  • 🌐 Project Discovery: Advanced search and filtering system. Users can explore projects by categories, sort by relevance, and find inspiration instantly.
  • 📝 Seamless Submissions: A streamlined multi-step project submission flow that allows developers to showcase their work with GitHub integration and live demos.
  • 🛡️ Robust Admin Portal: A dedicated dashboard for moderators to review, approve, or reject projects, ensuring high-quality community standards.
  • 🔐 Enterprise-Grade Auth: Secure authentication powered by NextAuth.js v5, supporting roles (Admin/User) and protected server-side actions.
  • 💬 Community Engagement: Integrated voting and commenting system (Architecture ready) to foster developer collaboration.
  • 🌓 Dynamic UI/UX: Modern, glassmorphic design system with full Dark/Light mode support and optimized mobile responsiveness.

✅ Engineering Best Practices

  • Code Quality Control: Pre-commit hooks via Husky and lint-staged to ensure code consistency and prevent linting errors.
  • Automated Formatting: Standardized code style using Prettier with automatic import sorting and Tailwind class sorting.
  • Optimized Performance: Leveraged React Suspense and Streaming for faster page loads and smooth skeleton states.
  • Seamless UX: Implemented robust Pagination for project discovery and admin management to handle large datasets efficiently.
  • Automated CI/CD: Clean code and successful builds are enforced via GitHub Actions, covering linting, formatting, and production build verification.

🛠️ Tech Stack

Frontend

Backend & Infrastructure


🚦 Getting Started

1. Prerequisites

  • Node.js (v20 or higher)
  • PostgreSQL Database
  • Bun or NPM

2. Installation

# Clone the repository
git clone https://github.com/JaySavani/buildlog-HOE-Assignment.git

# Install dependencies
bun install

3. Environment Setup

Create a .env file in the root directory:

# Database
DATABASE_URL=""

# NextAuth (Auth.js)
# Generate a secret: openssl rand -base64 32
AUTH_SECRET=""
NEXTAUTH_URL="http://localhost:3000"

4. Database Migration

# Push schema to database
npx prisma db push

# (Optional) Seed initial data
npx prisma db seed

5. Run Development Server

bun dev

🔑 Demo Credentials

To test the platform's features, you can use the following pre-seeded account:

  • Admin Account:
    • Email: admin@gmail.com
    • Password: Admin123
    • Role: Full access to the Admin Dashboard (approve/reject projects).

📂 Project Structure

src/
├── app/              # Next.js App Router (Pages & API)
├── actions/          # Type-safe Server Actions (Auth, Projects)
├── components/       # Reusable UI & Layout Components
│   ├── admin/        # Admin-specific interfaces
│   ├── ui/           # Base Shadcn components
│   └── ...           # Feature-specific components
├── lib/              # Utility functions, DB clients, & Schemas
├── types/            # Global TypeScript definitions
└── prisma/           # Database schema & migrations

Built with ❤️ by Jay Savani

About

DevShowcase is a premium, full-stack community project showcase platform. It provides a centralized hub for developers to discover, share, and discuss innovative open-source projects.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors