🏆 First Prize Winner - PALS Event 2022 (Analyze Case Study) - IIT Madras
Awarded among 100+ teams for innovative application design and functionality
A location-based web application that discovers nearby attractions and events based on user preferences, complete with navigation routes and smart filtering options.
My Locality! is a Django-powered web application that leverages Google APIs to help users discover what's happening around them. Whether you're looking for events, attractions, or activities, this app provides personalized recommendations with turn-by-turn navigation.
- Auto-Detection: Automatically detects user's current location
- Manual Input: Option to search for specific locations
- Real-time Updates: Live location tracking for dynamic results
- Nearby Attractions: Discover popular places and landmarks
- Local Events: Find ongoing and upcoming events
- Personalized Results: Tailored recommendations based on user preferences
- Time-based Filters: Filter events by start time and duration
- Category Selection: Choose from various event/attraction categories
- Distance Range: Set preferred search radius
- Date Selection: Find events for specific dates
- Route Planning: Get directions to selected destinations
- Multiple Transport Modes: Walking, driving, public transport options
- Real-time Traffic: Live traffic updates for optimal routing
- Backend: Django (Python)
- Database: Firebase Firestore
- APIs:
- Google Maps JavaScript API
- Google Places API
- Google Events API
- Google Directions API
- Frontend: HTML, CSS, JavaScript
- Deployment: Firebase Hosting
- Python 3.6+
- Django 4.0+
- Google Cloud Platform account
- Firebase project
- Clone the repository
git clone https://github.com/vaarunx/mylocality.git
cd mylocality- Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies
pip install -r requirements.txt- Configure API Keys
Create a
config/settings.pyfile:
# Google APIs Configuration
GOOGLE_MAPS_API_KEY = 'your-google-maps-api-key'
GOOGLE_PLACES_API_KEY = 'your-google-places-api-key'
GOOGLE_EVENTS_API_KEY = 'your-google-events-api-key'
# Firebase Configuration
FIREBASE_CONFIG = {
'apiKey': 'your-firebase-api-key',
'authDomain': 'your-project.firebaseapp.com',
'projectId': 'your-project-id',
# ... other config
}- Run migrations
python manage.py migrate- Start development server
python manage.py runserverVisit http://localhost:8000 to see the application in action!
- Enable Location: Allow the app to access your location
- Set Preferences: Choose categories and filters
- Discover: Browse nearby attractions and events
- Navigate: Get directions to your chosen destination
- Explore: Enjoy your local discoveries!
mylocality/
├── config/ # Django settings and configuration
├── mylocality/ # Main application directory
│ ├── models.py # Database models
│ ├── views.py # Application views
│ ├── urls.py # URL routing
│ └── templates/ # HTML templates
├── templates/ # Global templates
├── static/ # CSS, JS, images
├── requirements.txt # Python dependencies
├── manage.py # Django management script
└── db.sqlite3 # Local database file
- Enable Google Maps, Places, and Events APIs in Google Cloud Console
- Create API credentials and restrict them appropriately
- Add your domain to authorized domains
- Create a Firebase project
- Enable Firestore database
- Configure authentication (optional)
- Download configuration file
PALS Event 2022 - Analyze Case Study Competition (IIT Madras)
- 🥇 First Prize among 100+ participating teams
- Recognized for innovative application design and functionality
- Demonstrated practical solution for location-based discovery
- Browser plugin for quick local discovery
- Integration with Google Calendar for event planning
- Offline mode for saved locations
- Social Integration: Share discoveries with friends
- Review System: User ratings and reviews for places
- AI Recommendations: Machine learning-based suggestions
- Augmented Reality: AR navigation and information overlay
- Multi-language Support: Localization for different regions
- Native iOS and Android apps
- Push notifications for nearby events
- Location-based reminders
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- GitHub: @vaarunx
- Project Link: https://github.com/vaarunx/mylocality
Made with ❤️ for local exploration and discovery