Skip to content

devweekends/web-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Dev Weekends Logo

Dev Weekends Web Platform

Your Gateway to Becoming a Better Software Engineer

License Issues Pull Requests PRs Welcome

AboutFeaturesTech StackGetting StartedProject StructureContributingCommunityLicense


📖 About

The Dev Weekends Web Platform powers the public website and internal portals for the Dev Weekends community – a thriving tech community focused on mentorship in software engineering, DevOps, cloud computing, and machine learning/AI.

This platform serves:

  • Public visitors – Explore sessions, mentors, resources, and community events
  • Mentors – Manage mentees, track progress, and share resources
  • Ambassadors – Coordinate community activities and outreach
  • Admins – Oversee the entire platform, manage users, sessions, and content

✨ Features

  • 🎓 Mentorship Program – Connect mentors with mentees for personalized guidance
  • 📅 Session Management – Schedule and manage community learning sessions
  • 👥 Community Portal – Showcase mentors, ambassadors, and community members
  • 📚 Resource Library – Curated learning resources for the community
  • 🎯 MindMaster – Interactive challenges and learning activities
  • 🔐 Role-Based Access – Secure portals for Admin, Mentor, and Ambassador roles
  • 📊 Activity Tracking – Monitor community engagement and progress
  • 🌙 Dark/Light Mode – Beautiful UI with theme support

🛠 Tech Stack

Category Technology
Framework Next.js 15 (App Router)
Language TypeScript
Styling Tailwind CSS
UI Components Radix UI
Database MongoDB via Mongoose
Authentication Custom JWT-based auth
Media Storage Cloudinary
Analytics Google Analytics

🚀 Getting Started

Prerequisites

  • Node.js 20+ (LTS recommended)
  • npm (or yarn/pnpm/bun)
  • MongoDB instance (local or MongoDB Atlas)
  • Git

Installation

  1. Fork the repository (for contributors)

    Click the "Fork" button at the top right of this page.

  2. Clone the repository

    git clone https://github.com/YOUR_USERNAME/web-platform.git
    cd web-platform
  3. Install dependencies

    npm install
  4. Configure environment variables

    cp .env.example .env.local

    Edit .env.local and fill in your values. See Environment Variables for details.

  5. Start the development server

    npm run dev
  6. Open your browser

    Navigate to http://localhost:3000

Environment Variables

Create a .env.local file based on .env.example:

Variable Required Description
MONGODB_URI MongoDB connection string
JWT_SECRET Secret key for JWT token signing
ADMIN_ACCESS_CODE Access code for admin authentication
MENTOR_ACCESS_CODE Access code for mentor authentication
AMBASSADOR_ACCESS_CODE Access code for ambassador authentication
NEXT_PUBLIC_GA_ID Google Analytics measurement ID
CLOUDINARY_CLOUD_NAME Cloudinary cloud name for media uploads
CLOUDINARY_API_KEY Cloudinary API key
CLOUDINARY_API_SECRET Cloudinary API secret

⚠️ Security Note: Never commit your .env.local file or expose secrets in your code.

Available Scripts

Script Description
npm run dev Start development server with Turbopack
npm run build Build for production
npm start Start production server
npm run lint Run ESLint

📁 Project Structure

web-platform/
├── app/                    # Next.js App Router
│   ├── (public pages)/     # Public pages (home, about, sessions, etc.)
│   ├── admin/              # Admin dashboard & management
│   ├── ambassador/         # Ambassador portal
│   ├── mentor/             # Mentor portal
│   ├── api/                # API routes
│   ├── layout.tsx          # Root layout
│   └── globals.css         # Global styles
├── components/             # React components
│   ├── ui/                 # Primitive UI components (Radix-based)
│   └── *.tsx               # Feature components
├── lib/                    # Shared utilities
│   ├── db.ts               # MongoDB connection
│   ├── auth.ts             # Authentication helpers
│   ├── jwt.ts              # JWT utilities
│   └── utils.ts            # General utilities
├── models/                 # Mongoose models
├── public/                 # Static assets
└── types/                  # TypeScript type definitions

🤝 Contributing

We love contributions! Dev Weekends is built by the community, for the community.

Quick Start

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Run linting: npm run lint
  5. Commit your changes: git commit -m 'Add amazing feature'
  6. Push to the branch: git push origin feature/amazing-feature
  7. Open a Pull Request

Resources

Good First Issues

Looking for a place to start? Check out issues labeled good first issue – they're perfect for newcomers!

👥 Community

Join our vibrant community of developers, mentors, and tech enthusiasts!

🙏 Acknowledgments

A huge thank you to:

  • All our amazing mentors who volunteer their time
  • Our dedicated ambassadors who spread the word
  • Every community member who participates and contributes
  • All open source contributors who help improve this platform

📄 License

This project is licensed under the MIT License – see the LICENSE file for details.


Made with ❤️ by the Dev Weekends community

About

Web Platform of Dev Weekends

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •