Skip to content

helloworld-ind-in/devlink-nitjsr

Repository files navigation

🚀 DevLink – Developer Portfolio & Resume Builder

DevLink is a full-stack application built with Next.js that allows developers to create, manage, and share their professional portfolios and resumes. It supports user authentication, dynamic profile building, PDF resume export, and SEO-optimized public portfolios.


🌐 Tech Stack

Feature Stack
Frontend Next.js (App Router, SSR/SSG)
Backend Next.js API Routes
Database MongoDB with Mongoose (optional: PostgreSQL + Prisma)
Auth NextAuth.js
Styling TailwindCSS
File Uploads Cloudinary
PDF Export react-pdf or html2pdf.js

🎯 Core Features

🔐 Authentication

  • Register/Login with Google, GitHub, or Email
  • Secure sessions via NextAuth.js

🧑‍💼 Profile Builder

  • Basic info: name, title, bio, and contact details
  • Skills (tag-based), education, and work experience
  • Add projects with title, description, demo, and GitHub links
  • Upload profile picture

📄 Resume Builder

  • Create resume using existing profile info
  • Add/remove sections like experience, skills, education
  • Preview and download as PDF

🌐 Public Portfolio

  • Custom URLs: devlink.io/username
  • SEO-optimized public portfolio pages
  • Contact form integration (optional)

📊 Dashboard (Optional)

  • Track portfolio views and resume downloads

🧱 MongoDB Schema Overview

// models/User.js
{
  _id,
  name,
  email,
  image,
  username, // for public URL
  bio,
  skills: [String],
  contact: {
    email, phone, linkedin, github, website
  },
  experience: [
    {
      company,
      position,
      startDate,
      endDate,
      description
    }
  ],
  education: [
    {
      school,
      degree,
      field,
      startDate,
      endDate
    }
  ],
  projects: [
    {
      title,
      description,
      github,
      liveDemo,
      imageUrl
    }
  ],
  resumeUrl // Cloudinary link to uploaded PDF
}

🗂 Folder Structure

/app
  /api
    /auth           → NextAuth authentication
    /profile        → GET/PUT profile data
    /upload         → Cloudinary uploads
  /dashboard        → Authenticated user area
  /portfolio        → Public portfolio pages

/components         → Reusable UI components
/lib                → Utility functions, DB connection, etc.
/models             → Mongoose schema definitions
/pages/api          → Legacy API routes (if needed)

🗓 MVP Timeline

Week Tasks
1 Setup Auth system + MongoDB integration
2 Build Profile + Projects CRUD functionality
3 Resume builder + PDF export capability
4 Public portfolio routes + SEO + UI polish

📦 Installation & Setup

  1. Clone the repo

    git clone https://github.com/your-username/devlink.git
    cd devlink
  2. Install dependencies

    npm install
  3. Set up environment variables
    Create a .env.local file with:

    NEXTAUTH_SECRET=your_secret
    NEXTAUTH_URL=http://localhost:3000
    MONGODB_URI=mongodb+srv://<user>:<password>@cluster.mongodb.net/devlink
    CLOUDINARY_CLOUD_NAME=your_cloud_name
    CLOUDINARY_API_KEY=your_api_key
    CLOUDINARY_API_SECRET=your_api_secret
    GITHUB_CLIENT_ID=your_github_client_id
    GITHUB_CLIENT_SECRET=your_github_client_secret
    GOOGLE_CLIENT_ID=your_google_client_id
    GOOGLE_CLIENT_SECRET=your_google_client_secret
    
  4. Run the app

    npm run dev

✨ Contributions

Contributions are welcome! Please open an issue or PR with improvements, fixes, or new ideas.


📄 License

MIT License


🙌 Acknowledgements

Releases

No releases published

Packages

No packages published