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