A comprehensive mobile application for Cal Poly's Construction Management department that facilitates communication and resource sharing between students, faculty, and industry members.
- Interactive calendar with event management
- Announcements and important notifications
- Real-time updates for department activities
- Comprehensive listing of department members
- Search and filter capabilities
- Detailed member profiles with contact information
- List of all CM-related clubs and organizations
- Club events and activities
- Membership information and contact details
- Complete faculty listing with contact information
- Office hours and availability
- Areas of expertise and research interests
- Upcoming company information sessions
- Registration for events
- Session details and locations
- Industry job postings
- Internship opportunities
- Easy application process
- Personal profile customization
- Academic and professional information
- Contact preferences
- Event management
- User management
- Content moderation
- Frontend: Flutter
- Backend: Firebase
- Authentication: Firebase Auth
- Database: Cloud Firestore
- Storage: Firebase Storage
- Notifications: Firebase Cloud Messaging
- Cloud Functions: Firebase Cloud Functions
- Flutter SDK
- Firebase CLI
- Android Studio / Xcode
- VS Code (recommended)
-
Clone the repository:
git clone https://github.com/CCCE-Cal-Poly/CM_App.git
-
Install dependencies:
flutter pub get
-
Set up Firebase:
- Create a new Firebase project
- Add Android/iOS apps to the project
- Download and add configuration files
- Enable required Firebase services
-
Run the app:
flutter run
lib/
├── common/
│ ├── collections/ # Data models
│ ├── features/ # Feature implementations
│ ├── providers/ # State management
│ ├── theme/ # UI theme definitions
│ ├── utils/ # Utility functions
│ └── widgets/ # Reusable UI components
├── services/ # Firebase service implementations
└── main.dart # Application entry point
- Email/password sign-in
- Account creation
- Password recovery
- Terms of Service acceptance
- Live event updates
- Push notifications
- Calendar synchronization
- Cloud storage for files
- Real-time database updates
- Offline data persistence
- Fork the repository
- 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 proprietary and owned by Cal Poly's Construction Management department.
Cal Poly Construction Management Department - Department Website