A modern AI-powered alumni-student networking platform designed to provide mentorship, collaboration, career guidance, and community-driven growth.
- Social Feed - Share posts, experiences, and insights
- Free Mentorship - Connect students with alumni mentors
- Coding Challenges - Daily programming problems with leaderboards
- Events & Workshops - Community events and learning sessions
- Resource Sharing - Curated learning materials and guides
- Real-time Chat - Internal messaging and community discussions
- Smart Mentor Matching - AI algorithm matches students with relevant alumni
- Coding Bot - Interactive bot for daily challenges and learning resources
- Intelligent Recommendations - Personalized content and connection suggestions
- Points System - Earn points for solving problems and helping others
- Leaderboards - Compete with peers in coding challenges
- Streaks - Maintain daily coding streaks for rewards
- Badges - Achievement system for various milestones
- React 18 with TypeScript
- Tailwind CSS for styling
- Framer Motion for animations
- Lucide React for icons
- React Router for navigation
- Supabase for backend services
- PostgreSQL database with Row Level Security
- Real-time subscriptions for live updates
- Authentication with email/password
- Vite for fast development
- ESLint for code quality
- TypeScript for type safety
Alum-Connect/
β
βββ src/
β β App.tsx
β β main.tsx
β β index.css
β β
β βββ components/
β β βββ ai/
β β β βββ MentorshipMatcher.tsx
β β β
β β βββ auth/
β β β βββ ProtectedRoute.tsx
β β β
β β βββ chat/
β β β βββ ChatBot.tsx
β β β βββ CodingBot.tsx
β β β βββ FirebaseService.ts
β β β βββ InternalChatModule.tsx
β β β βββ SocketService.ts
β β β βββ WebRTCService.ts
β β β
β β βββ dashboard/
β β βββ home/
β β βββ layout/
β β βββ mobile/
β β βββ pwa/
β β βββ ui/
β β βββ verification/
β β
β βββ contexts/
β β βββ AuthContext.tsx
β β
β βββ hooks/
β β βββ useCodingProblems.ts
β β βββ useNotifications.ts
β β βββ usePosts.ts
β β βββ usePWA.ts
β β
β βββ lib/
β β βββ supabase.ts
β β
β βββ pages/
β βββ HomePage.tsx
β βββ AboutPage.tsx
β βββ CoursesPage.tsx
β βββ ResourcesPage.tsx
β βββ DashboardPage.tsx
β βββ ProfilePage.tsx
β βββ BlogPage.tsx
β βββ SuccessStoriesPage.tsx
β β
β βββ auth/
β β βββ Callback.tsx
β β βββ ResetPassword.tsx
β β
β βββ courses/
β βββ GetStartedPage.tsx
β
βββ public/
βββ supabase/
βββ package.json
βββ vite.config.ts
βββ README.md
| Folder | Purpose |
|---|---|
components/ai |
AI-powered mentor matching features |
components/chat |
Real-time chat, bots & communication modules |
components/dashboard |
Alumni, student & admin dashboards |
components/home |
Homepage sections and landing page UI |
components/layout |
Navbar, Footer & reusable layouts |
components/mobile |
Mobile-first interactions |
components/pwa |
Progressive Web App functionality |
components/ui |
Shared UI components |
components/verification |
User verification workflows |
contexts |
Global state management |
hooks |
Custom React hooks |
lib |
External integrations & utilities |
pages |
Application routes and pages |
## π Getting Started
### Prerequisites
- Node.js 18+
- npm or yarn
- Supabase account (for production)
- LinkedIn Developer Account (for LinkedIn OAuth)
### Local Development
1. **Clone the repository**
```bash
git clone https://github.com/your-username/alumconnect.git
cd alumconnect
-
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env
Fill in your Supabase credentials in
.env:VITE_SUPABASE_URL=your_supabase_project_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
-
Set up LinkedIn OAuth (Optional) To enable LinkedIn sign-in:
a) Create LinkedIn App:
- Go to LinkedIn Developer Portal
- Click "Create App" and fill in the required information:
- App name: "AlumConnect"
- LinkedIn Page: Create a LinkedIn page for your app or use personal
- App logo: Upload your app logo
- Legal agreement: Accept terms
b) Configure LinkedIn App:
- In your LinkedIn app dashboard, go to "Auth" tab
- Add these redirect URLs:
- For local development:
http://127.0.0.1:54321/auth/v1/callback - For production:
https://your-project.supabase.co/auth/v1/callback
- For local development:
- Request access to these scopes:
r_liteprofile(to retrieve basic profile info)r_emailaddress(to retrieve email address)
c) Configure Supabase:
- In your Supabase dashboard: Authentication > Providers > LinkedIn
- Enable LinkedIn provider
- Add your LinkedIn Client ID and Client Secret
- Save the configuration
d) Update Local Config:
- In
supabase/config.toml, update the LinkedIn section:[auth.external.linkedin] enabled = true client_id = "your_linkedin_client_id" secret = "your_linkedin_client_secret" redirect_uri = "http://127.0.0.1:54321/auth/v1/callback"
-
Set up Supabase (Optional - for local development)
# Install Supabase CLI npm install -g supabase # Start local Supabase supabase start # Run migrations supabase db reset
-
Start the development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173
- Build the project:
npm run build - Deploy the
distfolder to Netlify - Set environment variables in Netlify dashboard
- Connect your GitHub repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy automatically on push
The application uses a comprehensive PostgreSQL schema with the following main tables:
- profiles - User profile information
- posts - Social media posts and content
- post_reactions - Likes, loves, and other reactions
- comments - Post comments and discussions
- connections - User network connections
- mentorship_sessions - Mentoring session records
- coding_problems - Daily coding challenges
- user_problem_submissions - User coding submissions
- leaderboard - Coding challenge rankings
- events - Community events and workshops
- resources - Learning materials and guides
- notifications - User notifications
- Row Level Security (RLS) enabled on all tables
- Authentication via Supabase Auth
- Data validation on both client and server
- Secure API endpoints with proper authorization
- Modern UI/UX with clean, intuitive design
- Responsive design for all device sizes
- Consistent color scheme with indigo/purple gradients
- Smooth animations and micro-interactions
- Accessibility features and ARIA labels
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Created by Stuti Gupta
- 4th year B.Tech. CSE student @ RCEW, Jaipur + 20K family on LinkedIn itself
- GitHub: @stuticoder123
- LinkedIn: stuticoder1
- Email: stuticoder123@gmail.com
- Thanks to all the open-source libraries and tools used
- Inspired by the need for better alumni-student connections
- Built with β€οΈ for the global student community
For support, email stuticoder123@gmail.com or create an issue in the GitHub repository.
AlumConnect - Empowering Connections. Enabling Futures. π