Empowering student developers through real-world projects, mentorship, and community collaboration
π Visit Website β’ π¬ Join Discord β’ π± Follow Instagram β’ π Get Started
OpenGeek is India's fastest-growing tech community for student developers, built by students, for students. We bridge the gap between academic learning and industry experience through:
- π Real-world projects with actual impact
- π₯ Peer-to-peer mentorship and collaboration
- πΌ Internship and job opportunities
- π Hackathons and coding competitions
- π Skill development workshops and bootcamps
- π Open source contributions and portfolio building
| Feature | Description |
|---|---|
| π Student-Centric | Built specifically for college students and recent graduates |
| π‘ Project-Based Learning | Learn by building real applications that matter |
| π€ Community Support | 24/7 peer support and mentorship network |
| π Career Growth | Direct connections to internships and job opportunities |
| π Recognition | Showcase your work and get recognized for contributions |
| π Skill Tracking | Track your progress and build a strong developer portfolio |
This monorepo contains all apps, platforms, and tools under the OpenGeek initiative.
OPENGEEK/
β
βββ admin/ # π§ Admin dashboard (React + Vite)
β βββ client/ # Admin frontend (React + TypeScript + Vite)
β β βββ src/ # Admin app source code
β β βββ public/ # Static assets
β β βββ components.json # UI/component library config
β β βββ vite.config.ts # Vite configuration
β β βββ tsconfig.json # TypeScript configuration
β β βββ package.json # Frontend dependencies
β β
β βββ server/ # Admin backend (Express.js)
β βββ index.js # Admin API entry point
β βββ package.json # Backend dependencies
β
βββ communitysite/ # β
Main fullstack app (Client + Server)
β βββ client/ # Frontend (Next.js + Tailwind + TypeScript)
β β βββ src/ # Main app source code (components, pages, utils)
β β βββ public/ # Static assets (favicon, logos, images)
β β βββ .next/ # Next.js build output
β β βββ components.json # UI/component library config
β β βββ eslint.config.mjs # ESLint configuration
β β βββ next.config.ts # Next.js configuration
β β βββ tsconfig.json # TypeScript configuration
β β βββ .env* # Environment variables
β β βββ package.json # Frontend dependencies
β β
β βββ server/ # Backend (Express.js + PostgreSQL)
β β βββ config/ # Database and app configuration
β β βββ database-scripts/ # Database setup and migration scripts
β β βββ middleware/ # Express middleware (auth, validation, etc.)
β β βββ routes/ # API route handlers
β β βββ utils/ # Utility functions
β β βββ index.js # API entry point (Express app)
β β βββ .env* # Server environment variables
β β βββ render.yaml # Render deployment config
β β βββ package.json # Backend dependencies
β β
β βββ CLOUDINARY_INTEGRATION_GUIDE.md
β βββ SYSTEM_ARCHITECTURE_DOCUMENTATION.txt
β βββ README.md
β
βββ enterprise/ # π’ Enterprise platform (Next.js)
β βββ src/ # Enterprise app source code
β β βββ app/ # Next.js App Router pages
β β βββ components/ # React components
β βββ public/ # Static assets
β βββ .next/ # Next.js build output
β βββ next.config.ts # Next.js configuration
β βββ tailwind.config.js # Tailwind CSS configuration
β βββ tsconfig.json # TypeScript configuration
β βββ package.json # Dependencies
β
βββ mainsite/ # π Marketing/landing site for opengeek.in
β βββ src/ # Next.js source code
β β βββ app/ # Next.js App Router pages
β β βββ components/ # React components
β β βββ lib/ # Utility libraries
β β βββ middleware.ts # Next.js middleware
β βββ public/ # Static assets (images, icons, etc.)
β βββ next.config.ts # Next.js configuration
β βββ tailwind.config.js # Tailwind CSS configuration
β βββ tsconfig.json # TypeScript configuration
β βββ vercel.json # Vercel deployment config
β βββ package.json # Dependencies
β
βββ .vscode/ # VS Code workspace settings
βββ LICENSE
βββ README.md # Project overview and setup guide
| Technology | Version | Purpose |
|---|---|---|
| Next.js | 15.x | React framework with SSR, SSG, and App Router |
| TypeScript | 5.x | Static typing for better code quality and developer experience |
| Tailwind CSS | 3.x | Utility-first CSS framework for rapid UI development |
| Clerk | Latest | Authentication and user management |
| Axios | Latest | HTTP client for API requests |
| React Hook Form | Latest | Form handling and validation |
| Lucide React | Latest | Beautiful, customizable icons |
| Technology | Version | Purpose |
|---|---|---|
| Node.js | 18+ | JavaScript runtime environment |
| Express.js | 4.x | Fast, unopinionated web framework |
| PostgreSQL | 16+ | Robust relational database |
| Clerk Backend | Latest | Server-side authentication |
| Cloudinary | Latest | Image and media management |
| CORS | Latest | Cross-origin resource sharing |
| Helmet | Latest | Security middleware |
- ESLint - Code linting and quality checks
- Prettier - Code formatting
- Husky - Git hooks for code quality
- VS Code - Recommended IDE with workspace settings
| Folder | Description | Status |
|---|---|---|
communitysite |
Main OpenGeek community platform - Full-stack social platform with posts, projects, user profiles, and real-time interactions | β Active |
mainsite |
Marketing/landing site - Public-facing website for www.opengeek.in with community info and onboarding | β Active |
enterprise |
Enterprise platform - Business-focused platform for organizations and enterprise users | π§ In Development |
admin |
Admin dashboard - Management interface for community moderation, analytics, and platform administration | π§ In Development |
Before you begin, ensure you have the following installed:
| Requirement | Version | Download |
|---|---|---|
| Node.js | 18.0+ | Download |
| npm | 9.0+ | Comes with Node.js |
| PostgreSQL | 16.0+ | Download |
| Git | Latest | Download |
git clone https://github.com/AhqafCoder/OPENGEEK.git
cd OPENGEEKcd communitysite/client
npm installCreate your environment file:
cp .env.example .env.localConfigure your .env.local:
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
# API Configuration
NEXT_PUBLIC_API_URL=http://localhost:5000/api
# App Configuration
NEXT_PUBLIC_APP_URL=http://localhost:3000cd ../server
npm installCreate your environment file:
cp .env.example .envConfigure your .env:
# Server Configuration
PORT=5000
NODE_ENV=development
# Database Configuration
DATABASE_URL=postgresql://username:password@localhost:5432/opengeek_community
# Clerk Configuration
CLERK_SECRET_KEY=your_clerk_secret_key
CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
# Cloudinary Configuration (for image uploads)
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
# Frontend URL (for CORS)
FRONTEND_URL=http://localhost:3000# Create PostgreSQL database
createdb opengeek_community
# Run database migrations (if available)
npm run migratecd communitysite/server
npm run devcd communitysite/client
npm run dev| Application | URL | Description |
|---|---|---|
| Community Platform | http://localhost:3000 | Main social platform |
| API Server | http://localhost:5000 | Backend API |
| Main Website | http://localhost:3000 | Marketing site (separate setup) |
cd mainsite
npm install
npm run devcd enterprise
npm install
npm run dev# Frontend
cd admin/client
npm install
npm run dev
# Backend
cd admin/server
npm install
npm start- π€ User Profiles - Customizable profiles with skills, projects, and achievements
- π Social Posts - Share updates, ask questions, and engage with the community
- π Project Showcase - Display your projects with live demos and GitHub integration
- π¬ Real-time Chat - Connect with fellow developers instantly
- π Achievement System - Earn badges and recognition for contributions
- οΏ½ Rkesource Sharing - Access curated learning materials and tutorials
- π― Skill Tracking - Monitor your learning progress and set goals
- π Smart Search - Find projects, users, and resources easily
- π± Responsive Design - Perfect experience across all devices
- β‘ Fast Loading - Optimized for performance with Next.js
- π¨ Modern UI - Clean, professional design with smooth animations
- οΏ½ Analdytics Integration - Track visitor engagement and conversions
- π SEO Optimized - Built for search engine visibility
- π₯ Team Management - Organize and manage development teams
- π Project Analytics - Track project progress and team performance
- π Advanced Security - Enterprise-grade security and compliance
- π API Integration - Connect with existing enterprise tools
- π Custom Dashboards - Tailored insights for business needs
cd communitysite/client
npm run build
# Deploy to Vercel
vercel --prodcd mainsite
npm run build
# Deploy to Vercel
vercel --prod- Connect your GitHub repository to Render
- Set environment variables in Render dashboard
- Deploy with automatic builds on push
# Install Railway CLI
npm install -g @railway/cli
# Login and deploy
railway login
railway link
railway up- Create a PostgreSQL service on Render
- Copy the connection string
- Update your environment variables
- Create a project on Supabase
- Get your connection string
- Run migrations if needed
- Use TypeScript for all new code
- Follow ESLint and Prettier configurations
- Write meaningful commit messages
- Add JSDoc comments for functions
- Use semantic HTML and accessible components
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
# Run E2E tests
npm run test:e2e# Lint code
npm run lint
# Fix linting issues
npm run lint:fix
# Format code
npm run format
# Type check
npm run type-check# Check PostgreSQL is running
pg_isready
# Reset database
dropdb opengeek_community
createdb opengeek_community# Kill process on port 3000
npx kill-port 3000
# Kill process on port 5000
npx kill-port 5000- Verify your Clerk keys in environment files
- Check if you're using the correct environment (dev/prod)
- Ensure your domain is added to Clerk dashboard
# Clear Next.js cache
rm -rf .next
# Clear node_modules and reinstall
rm -rf node_modules package-lock.json
npm installIf you encounter issues:
- Check the Issues - Someone might have faced the same problem
- Join our Discord - Get real-time help from the community
- Create a new issue - Provide detailed information about your problem
We welcome contributions from developers of all skill levels! Here's how you can contribute:
- π΄ Fork the repository
- πΏ Create a feature branch
git checkout -b feature/amazing-feature
- π» Make your changes
- β
Test your changes
npm test npm run lint - π Commit your changes
git commit -m "Add amazing feature" - π Push to your branch
git push origin feature/amazing-feature
- π Open a Pull Request
| Area | Description | Good for |
|---|---|---|
| π Bug Fixes | Fix existing issues and bugs | Beginners |
| β¨ New Features | Add new functionality | Intermediate |
| π Documentation | Improve docs and guides | All levels |
| π¨ UI/UX | Enhance user interface | Designers |
| β‘ Performance | Optimize code and performance | Advanced |
| π§ͺ Testing | Add tests and improve coverage | All levels |
- Follow the code style - Use ESLint and Prettier
- Write tests - Add tests for new features
- Update documentation - Keep docs up to date
- Be respectful - Follow our code of conduct
- Start small - Begin with small contributions
- π Website: www.opengeek.in
- π¬ Discord: Join our Discord - Real-time chat and support
- π± Instagram: @opengeek.in - Updates and highlights
- π¦ Twitter: @opengeek_in - News and announcements
- π§ Email: hello@opengeek.in - Direct contact
- π Real Projects - Work on projects that matter
- π₯ Mentorship - Learn from experienced developers
- πΌ Opportunities - Access to internships and jobs
- π Recognition - Get recognized for your contributions
- π Learning - Continuous skill development
- π€ Networking - Connect with like-minded developers
Contributors get:
- π GitHub profile recognition
- π Community badges and achievements
- π Certificates for significant contributions
- πΌ Job and internship referrals
- π€ Speaking opportunities at events
This project is licensed under the MIT License - see the LICENSE file for details.
- β Commercial use - Use in commercial projects
- β Modification - Modify the code as needed
- β Distribution - Share and distribute freely
- β Private use - Use in private projects
- β Attribution required - Credit the original authors
Special thanks to:
- π Student Community - For continuous feedback and support
- π¨βπ» Open Source Contributors - For making this project better
- π’ Partner Organizations - For providing opportunities
- π οΈ Technology Partners - Clerk, Vercel, Render, and others
Built by students, for students π
"We don't just code for placements, we code for purpose" β¨
β Star this repo if you find it helpful!
π Star on GitHub β’ π΄ Fork β’ π Report Bug β’ π‘ Request Feature