EventMappr is a lightweight, open-source community event mapping web app. Users can discover, add, and explore local events pinned on an interactive map. Interactive, frontend web app for discovering and cataloging community events on a map.
π Table of Contents
- πΊοΈ Add events to map β Click anywhere to drop a pin and add title, category, date/time, and organizer info
- π§ Find Nearby β Centers the map on your current location using the Geolocation API
- ποΈ Filter events β Narrow down events by category (π΅ Music, π» Tech, π€ Volunteering, ποΈ Market, π¨ Art)
- πΎ Persistent storage β Uses
localStorageso your events remain across browser sessions - π± Interactive UI β Responsive layout with popups, animations, and dynamic filtering
- π NEW: Detailed event pages - Click on any marker to view comprehensive event information
- πΎ NEW: Persistent storage - Events are saved locally and persist across sessions
- πΊοΈ NEW: Mini maps - Each event page includes a map showing the exact location
- βοΈ NEW: Weather Planner - Users can check 5-day weather forecasts for any city to help plan suitable dates for events
- πΈ NEW: Event Gallery - A dedicated page displaying user-shared images from past events, fostering community engagement
- π NEW: Modular Routing - Enhanced navigation with react-router-dom for better user experience
- View Events: Open the app to see events marked on the map
- Click Markers: Click on any event marker to view detailed information
- Add Events: Fill out the form and click on the map to add new events
- Find Nearby: Use the "Find Nearby" button to locate events close to you
- View Details: Each event has a dedicated page with:
- Event description and details
- Location information with coordinates
- Mini map showing exact location
- Organizer and contact information
- Date and time details
- Next.js - React framework for production-grade applications
- React - Modern UI library for component-based architecture
- React Router DOM - Declarative routing for React applications
- React Leaflet - React components for Leaflet maps
- HTML5 & CSS3 β Semantic markup and responsive design
- Leaflet.js β Open-source mapping library
- OpenStreetMap β Free map tile provider
- localStorage β Lightweight, in-browser persistence
- Node.js (v14 or higher)
- npm (v6 or higher)
- Clone the repository
git clone https://github.com/yourusername/eventmappr.git
cd eventmappr- Install dependencies
npm installTo start the development server:
npm run devThe application will open in your default browser at http://localhost:3000.
To create a production build:
npm run buildTo start the production server:
npm startnpm run dev- Starts the development server on port 3000npm run build- Creates a production buildnpm start- Starts the production servernpm run lint- Runs ESLint to check code qualitynpm run clean- Cleans build artifacts
βββ components/ # React components
β βββ layout/ # Layout components (Navbar, etc.)
β βββ sections/ # Page section components
β βββ ui/ # Reusable UI components
βββ pages/ # Next.js pages
β βββ _app.js # Custom App component
β βββ _document.js # Custom Document component
β βββ index.js # Home page
β βββ explore.js # Explore page
β βββ auth.js # Authentication page
βββ public/ # Static assets
β βββ images/ # Image assets
βββ styles/ # CSS files
βββ utils/ # Utility functions
β βββ router.js # React Router DOM integration utilities
βββ next.config.js # Next.js configuration
βββ package.json # Project dependencies and scripts
-
View events β Load the app to see all events pinned on the map
-
Add event β Click on map, fill in the form (title, category, datetime, contact), and hit Save
-
Filter β Select categories via checkboxes to hide/show specific events
-
Find nearby β Click "π Find Nearby" to center map at your current position
-
View details β Click any marker to view full event information
We welcome contributions to improve EventMappr!
- Fork this repository
- Clone your forked repo:
git clone https://github.com/your-username/EventMappr.git
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes and commit:
git commit -m "Add your message here" - Push to your fork and submit a Pull Request:
git push origin feature/your-feature-name
- Keep PRs focused and concise
- Use consistent code formatting
- Test features before submitting
- Be respectful and collaborative in reviews
- β Local persistent storage
- β Event detail pages
- β Event time/date input
- β React component architecture
- β Next.js migration
- β React Router integration
- π Map marker clustering
- π Dark mode toggle
- π Search bar for event titles/descriptions
- π Shareable event links
- π User authentication (e.g., via Firebase)
- π Category tags and filtering UX improvements
- Next.js - for the React framework
- React Router DOM - for declarative routing
- React Leaflet - for React components for Leaflet maps
- Leaflet.js β for the interactive mapping library
- OpenStreetMap β for free and open map tiles
- React - for the UI component library
- Community inspiration from local engagement and open-source mapping initiatives
Released under the MIT License.
Built with β€οΈ by Bhavya1352 and the open-source community.