A simple, open-source directory and URL redirector for Google Developer Group (GDG) DevFest events using the devfe.st domain.
- Short, memorable URLs for DevFest events (e.g.,
devfe.st/bangalore) - Directory listing of all DevFest events globally
- Search and filter functionality
- Dynamic updates without requiring redeployment
- Theme-aware interface with light and dark modes
- Interactive map with location markers
- Secure update mechanism via GitHub Issues and approval workflow
- Frontend: Next.js, TypeScript, Tailwind CSS, shadcn/ui
- Backend: Next.js API routes
- Data Storage: Static JSON file
- Deployment: Vercel
- Automation: GitHub Actions for updates
- Mapping: Leaflet with theme-aware tiles
- Node.js 18+ and npm
-
Clone the repository:
git clone https://github.com/choraria/devfest.git cd devfest -
Install dependencies:
npm install -
Create a
.env.localfile with your site configuration:NEXT_PUBLIC_SITE_URL=https://devfe.st -
Start the development server:
npm run dev
Each redirect entry contains:
destinationUrl: The URL to redirect to (must be HTTPS)devfestDate: Date of the DevFest event (YYYY-MM-DD format)devfestName: Name of the DevFest event (auto-generated if not provided)updatedBy: GitHub username of last updaterupdatedAt: ISO timestamp of last update
Note: The slug is used as the identifier for the redirect and is required in the issue title but not stored in the entry data.
gdgChapter: GDG chapter namecity: City namecountryName: Country namecountryCode: Country code (ISO)latitude: Geographic coordinateslongitude: Geographic coordinatesgdgUrl: GDG chapter URL
To request a URL update:
- Go to the Issues page
- Fill out the required information in the issue template
- Submit the issue
- Wait for repository owner approval
Our GitHub Actions workflow will:
- Validate the provided information
- Request approval from repository owner
- Update the URL after approval
- Add a 'processed' label and close the issue
- Provide confirmation with the updated details
Note: The workflow only updates existing entries. New entries must be added through the seeding process.
- Automatically switches between light and dark modes
- Uses grayscale styling in dark mode for better visibility
- Maintains colored markers in both modes
- Smooth transitions between themes
- Searchable by DevFest name and location
- Filterable by country
- Sortable date column
- Quick copy functionality for short URLs
- Direct links to update existing entries
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Developer Groups (GDG) for organizing DevFest events worldwide
- The open-source community for the tools that make this project possible