The ROBU App is designed for the Robotics Club of BRAC University (ROBU) to provide members with a unified platform for accessing resources, events, and announcements. Built with Flutter, it features interactive and dynamic UI components for an engaging user experience.
- Robotics Basics: Learn the fundamentals of robotics with categorized lessons and video tutorials.
- Podcast (ROBUST): Listen to podcasts from ROBU experts.
- Events & Announcements: Stay updated with the latest club events and notifications.
- Registration: Register for events and club membership easily.
- Alumni Section: Discover and connect with alumni who shaped the club's journey.
- Panel Info: Access all information about the DADS panel.
- Machine Vision: Explore machine vision projects and tutorials.
- Arduino Serial Monitor: Interface with Arduino devices directly from the app.
- Dynamic UI: Engaging, animated, and modern interfaces for seamless navigation.
- Expandable Categories: Organized sections like Coding, Hardware Projects, and more.
- Help Center: Access FAQs and support resources.
lib/
├── main.dart # App entry point
├── core/
│ ├── theme/
│ │ └── app_theme.dart # App-wide theme and text styles
│ ├── utils/
│ │ └── api_root.dart # API root URL
│ └── widgets/
│ ├── update_checker.dart # In-app update checker
│ └── url_launcher.dart # URL launching utility
├── features/
│ ├── home/
│ │ ├── sections/
│ │ │ ├── home_contents.dart # Main home UI
│ │ │ └── info_home.dart # InfoHome grid navigation
│ │ ├── widgets/
│ │ │ └── banner_list_view.dart# Animated banner carousel
│ │ └── models/
│ │ └── home_models.dart # InfoBlock and Banner models
│ ├── info/
│ │ ├── bor.dart # Robotics basics, video lessons
│ │ ├── alumni.dart # Alumni section with PDF viewer
│ │ ├── notification_page.dart # Announcements/notifications
│ │ ├── video_play_screen.dart # Video player for courses
│ │ ├── robust/
│ │ │ ├── robust.dart # Podcast player and list
│ │ │ └── podcast_player.dart # Individual podcast player
│ │ ├── machine_vision/
│ │ │ ├── machine_vision_view.dart
│ │ │ ├── camera_view.dart
│ │ │ ├── detector_view.dart
│ │ │ ├── face_detector_view.dart
│ │ │ ├── utils.dart
│ │ │ └── painters/
│ │ │ ├── coordinates_translator.dart
│ │ │ └── face_detector_painter.dart
│ │ ├── serial_monitor/
│ │ │ ├── arduino_serial_monitor.dart
│ │ │ └── terminal_page.dart
│ │ ├── about/
│ │ │ ├── about_screen.dart
│ │ │ └── about_details/
│ │ │ ├── about_lists.dart
│ │ │ └── projects.dart
│ │ └── panel/
│ │ ├── model/
│ │ │ ├── advisor_model.dart
│ │ │ └── panel_profile_model.dart
│ │ ├── view/
│ │ │ ├── panel.dart
│ │ │ ├── profile_detail_screen.dart
│ │ │ └── advisor_detail_screen.dart
│ │ └── widgets/
│ │ ├── profile_tile.dart
│ │ └── advisor_tile.dart
│ ├── drawer/
│ │ ├── home_drawer.dart
│ │ ├── navigation_home_screen.dart
│ │ ├── drawer_user_controller.dart
│ │ ├── invite_friend_screen.dart
│ │ ├── about_app.dart
│ │ └── permission_settings.dart
│ ├── login/
│ │ ├── login.dart
│ │ └── registration.dart
│ ├── profile/
│ │ ├── edit_profile_screen.dart
│ │ ├── widgets/
│ │ │ ├── custom_input_field.dart
│ │ │ ├── custom_dropdown_field.dart
│ │ │ └── dashboard.dart
│ │ └── models/
│ │ ├── recruitment.dart
│ │ ├── profile.dart
│ │ └── profile_provider.dart
│ └── help_center/
│ └── widgets/
│ └── help_center_card.dart
- Home: Animated banners, quick access buttons, and a grid of main features.
- InfoHome: Central hub for navigating to robotics basics, podcasts, events, panel info, alumni, and more.
- Robotics Basics: Video-based lessons and resources.
- Podcast (ROBUST): List and play podcasts from club experts.
- Panel Info: View current and past panel members, advisors, and details.
- Alumni: Browse alumni lists and view panel PDFs.
- Machine Vision: Explore and interact with machine vision projects.
- Arduino Serial Monitor: Connect and communicate with Arduino devices.
- Profile: Edit and manage your club profile.
- Help Center: Access FAQs and support.
- Flutter: For cross-platform mobile app development.
- Dart: Main programming language.
- Provider: State management.
- OneSignal: Push notifications.
- YouTube Player: Embedded video lessons and podcasts.
- Lottie: Animated assets.
- Syncfusion PDF Viewer: For alumni and panel documents.
- Clone the repository:
git clone https://github.com/Onnesok/robu-app.git cd robu-app - Install dependencies:
flutter pub get
- Add your
.envfile with required API keys (see.env.exampleif available). - Run the app:
flutter run
Contributions are welcome! Please open issues or submit pull requests for improvements or new features.
Let me know if you want to add more sections (e.g., FAQ, License, Contributors) or further details for any feature!