Skip to content

anujkamdar/Gradlink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

113 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GradLink - Alumni-Student Networking Platform

Node.js React MongoDB Frontend on Vercel Backend on Render

🎯 Overview

GradLink is a comprehensive full-stack web application designed to bridge the gap between educational institutions' alumni and current students. Our platform facilitates meaningful professional networking, exclusive career opportunities, community-driven fundraising initiatives, and enhanced engagement within college ecosystems. With features like achievement badges, real-time notifications, and secure payment processing, GradLink creates a thriving digital community for educational institutions.

πŸš€ Features

πŸ‘₯ Alumni Networking

  • πŸ” View Profiles: Explore detailed alumni and student profiles, including education, work company and position

πŸ“° Social Feed

  • πŸ“ Create Posts: Share updates, success stories, and professional tips
  • ❀️ Like & Comment: Engage with the community through likes and meaningful discussions
  • πŸ“Έ Media Support: Share images in posts

πŸ† Achievement System

  • πŸŽ–οΈ Donation Badges: Earn badges for first donations, generous giving, and top supporter status
  • πŸ’Ό Career Badges: Recognition for job posting milestones and recruitment activities
  • πŸ“ˆ Progress Tracking: Visual achievement progress across different categories
  • 🌟 Profile Showcase: Display earned badges prominently on user profiles

πŸ’Ό Job Portal

  • πŸ§‘β€πŸ’Ό Alumni-Posted Opportunities: Jobs and internships shared by alumni for students
  • πŸ”Ž Browse & Apply: Explore listings and apply directly within the platform

πŸ“§ Email Notification System

  • Welcome Emails: Automated welcome messages sent to new users upon registration
  • Job Application Alerts: Instant notifications to alumni when someone applies to their posted jobs
  • Skills-Matched Job Alerts: Automatic emails to students when jobs matching their skills are posted

πŸ’° Fundraising & Donations

  • 🏫 Event-Based Campaigns: Support college events, infrastructure, scholarships, etc.

πŸ—οΈ Architecture

Frontend (React + Vite)

  • Framework: React 19 with modern hooks and functional components
  • Build Tool: Vite for fast development and optimized production builds
  • UI Components: shadcn/ui built on top of Radix UI primitives
  • Styling: Tailwind CSS for responsive and modern design
  • Routing: React Router v7 for client-side navigation
  • HTTP Client: Axios with credentials for API communication

Backend (Node.js + Express)

  • Runtime: Node.js with ES6 modules
  • Framework: Express.js with RESTful API architecture
  • Database: MongoDB with Mongoose ODM for schema modeling
  • Authentication: JWT-based authentication with access and refresh tokens
  • File Storage: Cloudinary integration for image and document storage
  • Email Service: Nodemailer for automated email notifications
  • Payment Processing: Stripe integration for secure donations

πŸ”§ Tech Stack

Frontend Technologies

React Vite Tailwind CSS shadcn/ui React Router Axios

Backend Technologies

Node.js Express.js MongoDB Mongoose JWT Socket.io

Infrastructure & Services

Cloudinary Stripe Vercel Render Nodemailer Multer

πŸ“Š Database Schema

GradLink uses MongoDB with Mongoose ODM for data modeling. The database follows a document-based structure with well-defined relationships between collections.

Entity Relationship Diagram

erDiagram
    User {
        ObjectId _id PK
        string role
        string email UK
        string fullname
        string password
        number graduationYear
        string major
        string skills
        string avatar
        string bio
        string company
        string position
        string location
        ObjectId college FK
        string refreshToken
        date createdAt
        date updatedAt
    }
    
    College {
        ObjectId _id PK
        string collegeName UK
        string phoneNumber
        string collegeEmail
        string location
        string majors
        string logo
        date createdAt
        date updatedAt
    }
    
    Job {
        ObjectId _id PK
        ObjectId postedBy FK
        ObjectId college FK
        string title
        string company
        string description
        string requiredSkills
        string type
        string location
        ObjectId applicants FK
        date createdAt
        date updatedAt
    }
    
    JobApplication {
        ObjectId _id PK
        ObjectId job FK
        ObjectId appliedBy FK
        ObjectId college FK
        string status
        string coverLetter
        string resumeUrl
        date createdAt
        date updatedAt
    }
    
    Post {
        ObjectId _id PK
        string content
        ObjectId college FK
        string media
        string category
        ObjectId author FK
        ObjectId likes FK
        date createdAt
        date updatedAt
    }
    
    Comment {
        ObjectId _id PK
        ObjectId postedBy FK
        string content
        ObjectId post FK
        date createdAt
        date updatedAt
    }
    
    Fundraiser {
        ObjectId _id PK
        ObjectId college FK
        string title
        string description
        string coverImage
        string category
        number targetAmount
        number currentAmount
        date createdAt
        date updatedAt
    }
    
    Donation {
        ObjectId _id PK
        number amount
        ObjectId donor FK
        ObjectId fundraiser FK
        ObjectId college FK
        string paymentIntentId
        date createdAt
        date updatedAt
    }

    User ||--|| College : belongs_to
    User ||--o{ Job : posts
    User ||--o{ JobApplication : applies
    User ||--o{ Post : creates
    User ||--o{ Comment : writes
    User ||--o{ Donation : makes
    
    College ||--o{ User : has_members
    College ||--o{ Job : contains
    College ||--o{ Post : contains
    College ||--o{ Fundraiser : creates
    
    Job ||--o{ JobApplication : receives
    Job }o--o{ User : has_applicants
    
    Post ||--o{ Comment : has
    Post }o--o{ User : liked_by
    
    Fundraiser ||--o{ Donation : receives
Loading

πŸ“± User Roles & Permissions

πŸŽ“ Students

  • Complete profile management with graduation tracking
  • Browse and apply to exclusive alumni-shared job opportunities
  • Participate in social discussions and content sharing
  • Support fundraising initiatives through secure donations
  • Access college statistics and community insights

πŸ‘” Alumni

  • All student features plus additional privileges
  • Create and manage job postings for the community
  • Review and manage job applications with candidate insights
  • Build professional reputation through platform contributions

πŸ”„ GradLink Platform Overview

flowchart TD
    %% User Entry
    A[πŸ‘€ User] --> B[πŸ”‘ Login/Register]
    B --> I1[πŸ“§ Welcome Email on Register]
    B --> C[πŸ“Š Dashboard]
    
    %% Core Features
    C --> D[πŸ‘₯ Networking]
    C --> E[πŸ’Ό Jobs]
    C --> F[πŸ“± Social]
    C --> G[πŸ’° Fundraising]
    
    %% Networking Features
    D --> D1[πŸ“ Complete Profile]
    D --> D2[🌐 Browse Alumni Network]
    D2 --> D2A[πŸ”Ž Search by Name]
    D2 --> D2B[πŸŽ“ Search by Grad Year]
    D2 --> D2C[πŸ“š Search by Major]
    D2 --> D2D[🏒 Search by Company]
    
    %% Job Features
    E --> E1[πŸ” Browse Job Listings]
    E --> E2[πŸ“„ Apply to Jobs]
    E --> E3{Alumni?}
    E3 -->|Yes| E4[πŸ“ Post Job Opportunities]
    E3 -->|Yes| E5[πŸ“Š Manage Applications]
    E3 -->|Yes| E6[βœ… Accept/Reject Candidates]
    
    %% Email Notifications for Jobs
    E2 --> I2[πŸ“§ Skills-Matched Job Alerts]
    E4 --> I3[πŸ“§ Application Received Alert]
    
    %% Social Features
    F --> F1[✍️ Create Posts]
    F --> F2[πŸ’¬ Comment on Posts]
    F --> F3[❀️ Like Posts]
    F --> F4[πŸ“Έ Share Media]
    
    %% Fundraising Features
    G --> G2[πŸ’³ Donate to Campaigns]
    G --> G3[πŸ“Š Track Campaign Progress]
    
    %% Styling
    classDef user fill:#e3f2fd,stroke:#1976d2
    classDef feature fill:#f3e5f5,stroke:#7b1fa2
    classDef alumni fill:#fff3e0,stroke:#f57c00
    classDef email fill:#e8f5e8,stroke:#4caf50
    
    class A,B,C user
    class D,E,F,G feature
    class D2A,D2B,D2C,D2D feature
    class E4,E5,E6 alumni
    class I1,I2,I3 email
Loading

⭐ If you found this project helpful, please give it a star!

Built with ❀️ for connecting educational communities

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages