PULSE is a feature-rich community engagement mobile application designed to strengthen local communities through digital connectivity. Built with Flutter and powered by Firebase, it provides a comprehensive platform for community interaction, local commerce, civic engagement, and real-time communication.
- Community Notices & Announcements: Stay informed with real-time community updates
- Interactive Comments & Engagement: Like, comment, and engage with community content
- Media-Rich Content: Support for images, videos, documents (PDF, DOCX), and file attachments
- Admin Dashboard: Comprehensive community management tools for administrators
- Buy & Sell Platform: Connect with local businesses and community members
- Seller Dashboard: Manage listings, track sales, and view analytics
- Seller Ratings & Reviews: Build trust through community feedback
- Real-time Chat: Direct messaging between buyers and sellers
- Community Volunteering: Discover and participate in local volunteer activities
- Event Management: Create, manage, and track volunteer events
- Participant Tracking: Monitor volunteer engagement and participation
- Civic Engagement: Report community concerns and issues
- Status Tracking: Monitor the progress of reported issues
- Location-Based Reporting: GPS-enabled reporting (Needs Location Permission)
- Administrative Review: Streamlined review process for community administrators
- Push Notifications: Stay updated with Firebase Cloud Messaging (FCM)
- Notification Management: Customizable notification preferences
- Community Analytics: Track engagement, growth, and activity metrics
- Report Generation: Generate PDF reports for community insights
- User Profiling: Barangay-level user analytics and demographics
- Performance Dashboards: Real-time community health monitoring
- Framework: Flutter 3.5.4+ with Dart 3.0+
- State Management: Provider pattern with global state management
- UI/UX: Material Design 3 with custom theming
- Platform Support: Android, iOS, Web, macOS, Windows, Linux
- Authentication: Firebase Authentication
- Database:
- Firestore (admin users, community data)
- Realtime Database (chat, notifications)
- Storage: Firebase Storage + Cloudinary for media
- Push Notifications: Custom Node.js server with FCM
- File Handling: Support for images, videos, PDFs, and documents
- Firebase Suite: Core, Auth, Firestore, Realtime Database, Storage, Messaging
- Media Processing: Image picker, cropper, compression, video handling
- Location: Geolocator, Geocoding
- UI Components: Charts (fl_chart), PDF generation, QR codes
- Networking: HTTP, Dio for file downloads
- Local Storage: Shared Preferences, Path Provider
- Flutter SDK: 3.5.4 or higher
- Dart SDK: 3.0 or higher
- Development Environment:
- Android Studio / VS Code
- Firebase Project: With Authentication, Firestore, and Storage enabled
-
Clone the repository
git clone https://github.com/yourusername/pulse_app.git cd pulse_app -
Install dependencies
flutter pub get
-
Firebase Configuration
- Create a new Firebase project
- Enable Authentication, Firestore, Realtime Database, and Storage
- Download and place
google-services.json(Android) andGoogleService-Info.plist(iOS) - Update
firebase_options.dartwith your project configuration
-
Environment Setup
- Configure Cloudinary for media storage (optional)
- Set up the notification server (see
Pulse-Notiff-Backend-Reference/)
-
Run the application
flutter run
lib/
βββ constants/ # App constants and configurations
βββ models/ # Data models and entities
βββ pages/ # UI screens and pages
β βββ admin/ # Admin-specific pages
β βββ super_admin/ # Super admin dashboard
β βββ notifications/ # Notification management
βββ services/ # Business logic and API services
βββ widgets/ # Reusable UI components
βββ utils/ # Utility functions and helpers
βββ main.dart # Application entry point
- Create a Firebase project at Firebase Console
- Enable the following services:
- Authentication (Email/Password)
- Cloud Firestore
- Realtime Database
- Cloud Storage
- Cloud Messaging
The app includes a custom Node.js notification server for enhanced push notification capabilities:
cd Pulse-Notiff-Backend-Reference
npm install
npm run devRefer to Pulse-Notiff-Backend-Reference/README.md for detailed setup instructions.
- Register/Login: Create an account or sign in
- Join Community: Enter your community code or scan QR
- Explore: Browse notices, marketplace, and volunteer opportunities
- Engage: Comment, like, and participate in community activities
- Admin Access: Login with administrator credentials
- Manage Content: Create notices, moderate discussions
- Oversee Marketplace: Review listings and manage sellers
- Monitor Reports: Review and respond to community reports
- System Overview: Access comprehensive analytics dashboard
- Community Management: Oversee multiple communities
- User Administration: Manage admin accounts and permissions
- Generate Reports: Create detailed community insights
We welcome contributions to PULSE! Please follow these steps:
- Fork the repository
- Create a 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
- Follow Flutter/Dart best practices
- Maintain consistent code formatting
- Add tests for new features
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
Built with β€οΈ for stronger communities
Β© 2025 PULSE Community Platform. All rights reserved.