Skip to content

Ritik-JS/Alumini

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ AlumUnity

AlumUnity React FastAPI MySQL License

A comprehensive platform connecting alumni, students, recruiters, and administrators for networking, mentorship, and career development.

Features β€’ Tech Stack β€’ Getting Started β€’ Documentation β€’ Contributing


πŸ“‹ Table of Contents


🌟 Overview

AlumUnity is a full-stack web application designed to foster meaningful connections within academic communities. It provides a comprehensive ecosystem where alumni can share opportunities, students can seek mentorship, recruiters can find talent, and administrators can manage the entire platform efficiently.

Key Highlights

  • 42+ Pages with role-specific dashboards
  • 90+ Reusable Components built with React and shadcn/ui
  • Notification System designed for timely updates
  • Advanced Analytics with interactive data visualizations
  • Responsive Design optimized for mobile, tablet, and desktop
  • Accessibility-focused design aligned with WCAG 2.1 AA best practices
  • Mock Data Services for rapid development and testing

✨ Features

πŸ” Authentication & Authorization

  • JWT-based secure authentication
  • Role-based access control (RBAC)
  • Google OAuth integration (UI ready)
  • Password reset and email verification
  • Persistent login sessions

πŸ‘€ Profile Management

  • Comprehensive user profiles with work experience, education, and skills
  • Profile photo upload and social media links
  • Verification badges for verified alumni
  • Privacy settings and profile completion tracking

πŸ” Alumni Directory

  • Advanced search with multiple filters (name, company, graduation year, skills)
  • Grid and list view options
  • Sorting and pagination
  • Export functionality

πŸ’Ό Job Portal

  • Job posting and application management
  • Advanced filtering (job type, location, salary range, experience level)
  • Application tracking system
  • Recruiter dashboard for managing applications
  • Job recommendations based on profile

🀝 Mentorship System

  • Find and connect with mentors by expertise
  • Session scheduling and management
  • Video call integration (UI ready)
  • Progress tracking and feedback system

πŸ“… Events Management

  • Create and manage events (networking, workshops, career fairs)
  • RSVP functionality with capacity limits
  • Calendar integration
  • Attendee management and check-in system

πŸ’¬ Community Forum

  • Discussion threads with categories
  • Upvote/downvote system
  • Nested comments and replies
  • Rich media support

πŸ”” Notifications

  • In-app notification system for user updates
  • Categorized notifications (jobs, mentorship, events, forum)
  • Customizable notification preferences
  • Email and push notifications (designed, implementation can be extended)

πŸ›‘οΈ Admin Panel

  • User management and verification
  • Content moderation tools
  • Comprehensive analytics dashboard
  • System settings and configuration

πŸš€ Advanced Features

  • Skill Graph: Interactive network visualization of skills across the alumni network
  • Career Paths: Data-driven career trajectory visualization
  • Leaderboard: Gamified engagement system with badges and points
  • Digital Alumni Card: QR code-enabled digital ID cards
  • Talent Heatmap: Geographic distribution of alumni
  • Knowledge Capsules: Micro-learning platform for sharing expertise

πŸ› οΈ Tech Stack

Frontend

  • Framework: React 19
  • Routing: React Router DOM v7
  • Styling: Tailwind CSS v3.4
  • UI Library: shadcn/ui (Radix UI primitives)
  • Forms: React Hook Form + Zod validation
  • State Management: React Context API
  • Charts: Recharts v3.5
  • Animations: Framer Motion v12
  • HTTP Client: Axios v1.8
  • Notifications: Sonner v2
  • Date Handling: date-fns v4

Backend

  • Framework: FastAPI (Python)
  • Database: MySQL with aiomysql
  • Authentication: JWT (PyJWT)
  • Password Hashing: bcrypt
  • ORM: aiomysql (async)
  • API Documentation: Swagger/OpenAPI (FastAPI built-in)

Development Tools

  • Package Manager: Yarn
  • Code Formatting: Black, isort (Python) / Prettier (JS)
  • Linting: ESLint (JS) / Flake8 (Python)
  • Testing: Jest, React Testing Library / pytest

πŸ“ Project Structure

/app
β”œβ”€β”€ backend/                      # FastAPI backend
β”‚   β”œβ”€β”€ server.py                 # Main FastAPI application
β”‚   β”œβ”€β”€ requirements.txt          # Python dependencies
β”‚   β”œβ”€β”€ database/                 # DB connection and helpers
β”‚   β”œβ”€β”€ routes/                   # Modular API route files
β”‚   β”œβ”€β”€ services/                 # Business logic & service layer
β”‚   β”œβ”€β”€ ml/                       # AI/ML utilities
β”‚   β”œβ”€β”€ middleware/               # Custom middleware (rate limiting, etc.)
β”‚   └── utils/                    # Shared backend utilities
β”‚
β”œβ”€β”€ frontend/                     # React frontend
β”‚   β”œβ”€β”€ public/                   # Static assets
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/           # Reusable UI components
β”‚   β”‚   β”‚   β”œβ”€β”€ admin/            # Admin-specific components
β”‚   β”‚   β”‚   β”œβ”€β”€ advanced/         # Advanced feature components
β”‚   β”‚   β”‚   β”œβ”€β”€ animations/       # Animation components
β”‚   β”‚   β”‚   β”œβ”€β”€ directory/        # Directory components
β”‚   β”‚   β”‚   β”œβ”€β”€ events/           # Event components
β”‚   β”‚   β”‚   β”œβ”€β”€ forum/            # Forum components
β”‚   β”‚   β”‚   β”œβ”€β”€ jobs/             # Job components
β”‚   β”‚   β”‚   β”œβ”€β”€ layout/           # Layout components
β”‚   β”‚   β”‚   β”œβ”€β”€ loading/          # Skeleton loaders
β”‚   β”‚   β”‚   β”œβ”€β”€ mentorship/       # Mentorship components
β”‚   β”‚   β”‚   β”œβ”€β”€ notifications/    # Notification components
β”‚   β”‚   β”‚   └── ui/               # shadcn/ui components
β”‚   β”‚   β”œβ”€β”€ contexts/             # React contexts (e.g., AuthContext)
β”‚   β”‚   β”œβ”€β”€ hooks/                # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ lib/                  # Utility functions
β”‚   β”‚   β”œβ”€β”€ page/                 # Page components (dashboards, modules)
β”‚   β”‚   β”œβ”€β”€ pages/                # Error pages and misc.
β”‚   β”‚   β”œβ”€β”€ schemas/              # Zod validation schemas
β”‚   β”‚   β”œβ”€β”€ services/             # API & mock services
β”‚   β”‚   β”œβ”€β”€ App.js                # Main React component
β”‚   β”‚   └── index.js              # React entry point
β”‚   β”œβ”€β”€ package.json
β”‚   └── tailwind.config.js
β”‚
β”œβ”€β”€ tests/                        # Test stubs and future tests
β”œβ”€β”€ database_schema.sql           # MySQL database schema
β”œβ”€β”€ mockdata.json                 # Mock data for development
β”œβ”€β”€ *.md                          # Documentation files
└── README.md                     # This file

πŸš€ Getting Started

Prerequisites

  • Node.js (v18+ recommended)
  • Python (v3.10+)
  • MySQL (v8.0+)
  • Yarn package manager

Installation

  1. Clone the repository

    git clone https://github.com/Ritik-JS/Alumini.git
    cd Alumini
  2. Set up the Backend

    cd backend
    
    # Create a virtual environment
    python -m venv venv
    
    # Activate virtual environment
    # On Windows:
    venv\Scripts\activate
    # On macOS/Linux:
    source venv/bin/activate
    
    # Install dependencies
    pip install -r requirements.txt
    
    # Create .env file
    cp .env.example .env
    # Edit .env with your configuration
  3. Set up the Database

    # Login to MySQL
    mysql -u root -p
    
    # Create database
    CREATE DATABASE alumni_portal;
    
    # Import schema
    mysql -u root -p alumni_portal < database_schema.sql
  4. Set up the Frontend

    cd frontend
    
    # Install dependencies
    yarn install
    
    # Create .env file
    cp .env.example .env
    # Edit .env with your API URL

Running the Application

  1. Start the Backend Server

    cd backend
    python server.py
    # Server runs on http://localhost:8000
  2. Start the Frontend Development Server

    cd frontend
    yarn start
    # App runs on http://localhost:3000
  3. Access the Application

Environment Variables

Note: The exact variable names can differ slightly between local development and specific deployment environments. Below is the canonical setup used in this codebase.

Backend (.env)

# Database configuration
DB_HOST=localhost
DB_PORT=3306
DB_USER=alumni_user
DB_PASSWORD=alumni_pass_123
DB_NAME=AlumUnity

# MySQL connection URL (used internally)
MYSQL_URL=mysql://alumni_user:alumni_pass_123@localhost:3306/AlumUnity

# JWT configuration
JWT_SECRET=your-secret-key-change-in-production
JWT_ALGORITHM=HS256
JWT_EXPIRATION_HOURS=24

# CORS configuration
CORS_ORIGINS=*

Frontend (.env)

# Toggle between mock data and backend API
REACT_APP_USE_MOCK_DATA=true

# Backend API URL used by the React app
# In some older docs this may be referred to as REACT_APP_API_URL,
# but in this codebase we use REACT_APP_BACKEND_URL.
REACT_APP_BACKEND_URL=<your-backend-url>

πŸ‘₯ User Roles

Role Description Key Features
Student πŸŽ“ Current students seeking opportunities Browse directory, apply for jobs, find mentors, attend events
Alumni πŸ† Graduated students giving back All student features + post jobs, mentor, create events
Recruiter πŸ’Ό Hiring professionals Post jobs, manage applications, browse alumni profiles
Admin πŸ›‘οΈ Platform administrators User management, verification, analytics, moderation

🧩 Core Modules

1. Dashboard System

Role-specific dashboards with personalized widgets, quick stats, and action cards.

2. Profile Management

Comprehensive profile creation with education, work experience, skills, and social links.

3. Alumni Directory

Advanced search and filtering system to discover and connect with alumni.

4. Job Portal

Complete job lifecycle management from posting to hiring.

5. Mentorship Platform

Connect mentors and mentees with session management and progress tracking.

6. Events Management

Create, manage, and attend various types of events with RSVP functionality.

7. Community Forum

Discussion platform with categories, voting, and nested comments.

8. Notification System

Notification system with customizable preferences.

9. Admin Panel

Comprehensive tools for user management, analytics, and platform configuration.


🎨 Advanced Features

Skill Graph πŸ•ΈοΈ

Interactive network visualization showing skill relationships and connections across the alumni network.

Career Paths πŸ“ˆ

Visual representation of common career trajectories based on alumni data.

Leaderboard πŸ†

Gamification system recognizing top contributors with points and badges.

Digital Alumni Card πŸͺͺ

Generate QR code-enabled digital ID cards for verified alumni.

Talent Heatmap πŸ—ΊοΈ

Geographic visualization of alumni distribution worldwide.

Knowledge Capsules πŸ“š

Micro-learning platform for sharing expertise in bite-sized formats.


πŸ“š API Documentation

Authentication Endpoints

POST   /api/auth/login          # User login
POST   /api/auth/register       # User registration
POST   /api/auth/logout         # User logout
POST   /api/auth/refresh        # Refresh JWT token
POST   /api/auth/forgot-password # Password reset request
POST   /api/auth/reset-password  # Reset password

User Endpoints

GET    /api/users/profile       # Get current user profile
PUT    /api/users/profile       # Update profile
GET    /api/users/{id}          # Get user by ID
GET    /api/users               # List users (admin)

Jobs Endpoints

GET    /api/jobs                # List all jobs
POST   /api/jobs                # Create job posting
GET    /api/jobs/{id}           # Get job details
PUT    /api/jobs/{id}           # Update job
DELETE /api/jobs/{id}           # Delete job
POST   /api/jobs/{id}/apply     # Apply for job
GET    /api/jobs/{id}/applications # Get applications

For complete API documentation, visit /docs endpoint when running the backend server.


πŸ—„οΈ Database Schema

The database consists of 15+ tables including:

  • users: User accounts and authentication
  • profiles: Detailed user profiles
  • jobs: Job postings
  • applications: Job applications
  • events: Event listings
  • rsvps: Event registrations
  • mentorship_sessions: Mentorship data
  • forum_posts: Forum discussions
  • comments: Post comments
  • notifications: User notifications
  • skills: Skill definitions
  • user_skills: User skill relationships

See database_schema.sql for the complete schema.


πŸ“Έ Screenshots

Screenshots to be added


πŸ“– Documentation

Comprehensive documentation is available in the repository:


πŸ§ͺ Testing

Frontend Testing

cd frontend
yarn test

Backend Testing

cd backend
pytest

Note: Test implementation is in progress.


🚒 Deployment

Frontend Deployment (Vercel/Netlify)

cd frontend
yarn build
# Deploy the build folder

Backend Deployment (Heroku/AWS/DigitalOcean)

cd backend
# Set environment variables
# Deploy using your preferred platform

Docker Deployment

# Coming soon
docker-compose up

🀝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch
    git checkout -b feature/amazing-feature
  3. Commit your changes
    git commit -m 'Add some amazing feature'
  4. Push to the branch
    git push origin feature/amazing-feature
  5. Open a Pull Request

Coding Standards

  • Follow ESLint rules for JavaScript
  • Follow PEP 8 for Python
  • Write meaningful commit messages
  • Add tests for new features
  • Update documentation as needed

πŸ“Š Project Status

Component Status Completion
Frontend βœ… Complete 100%
UI/UX βœ… Complete 100%
Mock Services βœ… Complete 100%
Backend APIs βœ… Complete 100%
Database βœ… Schema Defined 100%
Testing πŸ“‹ TODO 10%
Deployment πŸ“‹ TODO 0%

πŸ† Acknowledgments

  • shadcn/ui for the beautiful UI components
  • Radix UI for accessible component primitives
  • Tailwind CSS for the utility-first CSS framework
  • FastAPI for the modern Python web framework
  • React team for the amazing frontend library

πŸ“ License

This project is currently private. A formal open-source license (such as MIT) has not been granted yet. Please do not reuse or redistribute this code without explicit permission from the author.


πŸ‘¨β€πŸ’» Contact

Ritik JS

Project Link: https://github.com/Ritik-JS/Alumini


⭐ Star this repository if you find it helpful!

Made with ❀️ for the alumni community

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •