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.
- π View Profiles: Explore detailed alumni and student profiles, including education, work company and position
- π 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
- ποΈ 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
- π§βπΌ Alumni-Posted Opportunities: Jobs and internships shared by alumni for students
- π Browse & Apply: Explore listings and apply directly within the platform
- 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
- π« Event-Based Campaigns: Support college events, infrastructure, scholarships, etc.
- 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
- 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
GradLink uses MongoDB with Mongoose ODM for data modeling. The database follows a document-based structure with well-defined relationships between collections.
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
- 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
- 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
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
β If you found this project helpful, please give it a star!
Built with β€οΈ for connecting educational communities