AlumConnect is a comprehensive social platform designed to bridge the gap between alumni and students, providing free mentorship, networking opportunities, and a thriving community for knowledge sharing.
- 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
- Node.js 18+
- npm or yarn
- Supabase account (for production)
- LinkedIn Developer Account (for LinkedIn OAuth)
-
Clone the repository
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
- 3rd year B.Tech. CSE student @ RCEW, Jaipur
- 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. π