A comprehensive platform connecting alumni, students, recruiters, and administrators for networking, mentorship, and career development.
Features β’ Tech Stack β’ Getting Started β’ Documentation β’ Contributing
- Overview
- Features
- Tech Stack
- Project Structure
- Getting Started
- User Roles
- Core Modules
- Advanced Features
- API Documentation
- Database Schema
- Screenshots
- Documentation
- Testing
- Deployment
- Contributing
- License
- Contact
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.
- 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
- JWT-based secure authentication
- Role-based access control (RBAC)
- Google OAuth integration (UI ready)
- Password reset and email verification
- Persistent login sessions
- 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
- Advanced search with multiple filters (name, company, graduation year, skills)
- Grid and list view options
- Sorting and pagination
- Export functionality
- 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
- Find and connect with mentors by expertise
- Session scheduling and management
- Video call integration (UI ready)
- Progress tracking and feedback system
- Create and manage events (networking, workshops, career fairs)
- RSVP functionality with capacity limits
- Calendar integration
- Attendee management and check-in system
- Discussion threads with categories
- Upvote/downvote system
- Nested comments and replies
- Rich media support
- 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)
- User management and verification
- Content moderation tools
- Comprehensive analytics dashboard
- System settings and configuration
- 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
- 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
- Framework: FastAPI (Python)
- Database: MySQL with aiomysql
- Authentication: JWT (PyJWT)
- Password Hashing: bcrypt
- ORM: aiomysql (async)
- API Documentation: Swagger/OpenAPI (FastAPI built-in)
- Package Manager: Yarn
- Code Formatting: Black, isort (Python) / Prettier (JS)
- Linting: ESLint (JS) / Flake8 (Python)
- Testing: Jest, React Testing Library / pytest
/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
- Node.js (v18+ recommended)
- Python (v3.10+)
- MySQL (v8.0+)
- Yarn package manager
-
Clone the repository
git clone https://github.com/Ritik-JS/Alumini.git cd Alumini -
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
-
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
-
Set up the Frontend
cd frontend # Install dependencies yarn install # Create .env file cp .env.example .env # Edit .env with your API URL
-
Start the Backend Server
cd backend python server.py # Server runs on http://localhost:8000
-
Start the Frontend Development Server
cd frontend yarn start # App runs on http://localhost:3000
-
Access the Application
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
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>| 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 |
Role-specific dashboards with personalized widgets, quick stats, and action cards.
Comprehensive profile creation with education, work experience, skills, and social links.
Advanced search and filtering system to discover and connect with alumni.
Complete job lifecycle management from posting to hiring.
Connect mentors and mentees with session management and progress tracking.
Create, manage, and attend various types of events with RSVP functionality.
Discussion platform with categories, voting, and nested comments.
Notification system with customizable preferences.
Comprehensive tools for user management, analytics, and platform configuration.
Interactive network visualization showing skill relationships and connections across the alumni network.
Visual representation of common career trajectories based on alumni data.
Gamification system recognizing top contributors with points and badges.
Generate QR code-enabled digital ID cards for verified alumni.
Geographic visualization of alumni distribution worldwide.
Micro-learning platform for sharing expertise in bite-sized formats.
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
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)
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.
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 to be added
Comprehensive documentation is available in the repository:
- FEATURES_SUMMARY.md: Complete feature list with detailed descriptions
- BACKEND_WORKFLOW.md: Backend development phases and guidelines
- FRONTEND_WORKFLOW.md: Frontend development workflow
- MASTER_WORKFLOW.md: Overall project execution strategy
- DATABASE_README.md: Database schema and relationships
- MOCKDATA_README.md: Mock data structure and usage
- TOGGLE_GUIDE.md: Switching between mock and real data
cd frontend
yarn testcd backend
pytestNote: Test implementation is in progress.
cd frontend
yarn build
# Deploy the build foldercd backend
# Set environment variables
# Deploy using your preferred platform# Coming soon
docker-compose upContributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Commit your changes
git commit -m 'Add some amazing feature' - Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
- Follow ESLint rules for JavaScript
- Follow PEP 8 for Python
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
| 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% |
- 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
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.
Ritik JS
- GitHub: @Ritik-JS
- Email: your.email@example.com
- LinkedIn: Your LinkedIn Profile
Project Link: https://github.com/Ritik-JS/Alumini
β Star this repository if you find it helpful!
Made with β€οΈ for the alumni community