MCPcopy Index your code
hub / github.com/Bhavya1352/eventmappr

github.com/Bhavya1352/eventmappr @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
280 symbols 592 edges 81 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

🗺 EventMappr

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.

License: MIT GitHub stars GitHub forks Open Issues Contributors

🚀 Live Demo 🔝 Back to Top


📑 Table of Contents

🔝 Back to Top


🚀 Features

  • 🗺️ 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 localStorage so 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
  • 🔝 Back to Top

📱 How to Use

  1. View Events: Open the app to see events marked on the map
  2. Click Markers: Click on any event marker to view detailed information
  3. Add Events: Fill out the form and click on the map to add new events
  4. Find Nearby: Use the "Find Nearby" button to locate events close to you
  5. View Details: Each event has a dedicated page with:
  6. Event description and details
  7. Location information with coordinates
  8. Mini map showing exact location
  9. Organizer and contact information
  10. Date and time details
  11. 🔝 Back to Top

🛠️ Tech Stack

  • 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
  • 🔝 Back to Top

🚀 Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • npm (v6 or higher)

Installation

  1. Clone the repository
git clone https://github.com/yourusername/eventmappr.git
cd eventmappr
  1. Install dependencies
npm install

Development

To start the development server:

npm run dev

The application will open in your default browser at http://localhost:3000.

Building for Production

To create a production build:

npm run build

To start the production server:

npm start

🔝 Back to Top

📜 Available Scripts

  • npm run dev - Starts the development server on port 3000
  • npm run build - Creates a production build
  • npm start - Starts the production server
  • npm run lint - Runs ESLint to check code quality
  • npm run clean - Cleans build artifacts 🔝 Back to Top

📁 Project Structure Overview

├── 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

🔝 Back to Top

📌 Usage Guide

  1. View events — Load the app to see all events pinned on the map

  2. Add event — Click on map, fill in the form (title, category, datetime, contact), and hit Save

  3. Filter — Select categories via checkboxes to hide/show specific events

  4. Find nearby — Click "📍 Find Nearby" to center map at your current position

  5. View details — Click any marker to view full event information 🔝 Back to Top


🧑‍💻 Contributing

We welcome contributions to improve EventMappr!

📌 How to Contribute

  1. Fork this repository
  2. Clone your forked repo: bash git clone https://github.com/your-username/EventMappr.git
  3. Create a new branch: bash git checkout -b feature/your-feature-name
  4. Make your changes and commit: bash git commit -m "Add your message here"
  5. Push to your fork and submit a Pull Request: bash git push origin feature/your-feature-name

📋 Contribution Guidelines

  • Keep PRs focused and concise
  • Use consistent code formatting
  • Test features before submitting
  • Be respectful and collaborative in reviews 🔝 Back to Top

💡 Feature Ideas & Roadmap

  • ✅ 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 🔝 Back to Top

🙌 Acknowledgements


🌟 Awesome Contributors


📄 License

Released under the MIT License.


Built with ❤️ by Bhavya1352 and the open-source community.

🔝 Back to Top


Core symbols most depended-on inside this repo

renderMarkers
called by 9
src/js/script.js
init
called by 7
src/js/gallery.js
updateFilteredMessages
called by 6
src/js/Community-forum.js
showToast
called by 6
src/js/Community-forum.js
initializeFirebase
called by 5
utils/firebase.js
setTheme
called by 5
src/js/script.js
closeUploadModal
called by 5
src/js/gallery.js
updateUI
called by 5
src/js/Community-forum.js

Shape

Function 217
Method 53
Class 10

Languages

TypeScript100%

Modules by API surface

src/js/Community-forum.js41 symbols
src/js/gallery.js32 symbols
src/js/Weather.js22 symbols
src/js/auth.js13 symbols
components/map/MapExplorer.js13 symbols
src/js/script.js11 symbols
components/Cursor.jsx9 symbols
components/ChatBot.js8 symbols
components/ui/FeedbackButton.js7 symbols
Backend/controllers/user.controller.js7 symbols
utils/router.js6 symbols
pages/nearby.js6 symbols

Datastores touched

EventCollection · 1 repos
UserCollection · 1 repos
(mongodb)Database · 1 repos

For agents

$ claude mcp add eventmappr \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact