Skip to content

CampusGuardian is a comprehensive university community application designed to bridge the gap between students, alumni, and professors. It facilitates mentorship, peer-to-peer skill sharing, and knowledge exchange in a centralized, user-friendly platform.

Notifications You must be signed in to change notification settings

AbdullahRFA/campus_guardian

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


πŸŽ“ CampusGuardian

Flutter Dart Status

Learn. Connect. Grow.

CampusGuardian is a comprehensive university community application designed to bridge the gap between students, alumni, and professors. It facilitates mentorship, peer-to-peer skill sharing, and knowledge exchange in a centralized, user-friendly platform.


πŸš€ Features

1. 🀝 Mentorship System

Connect with experienced seniors, alumni, and professors.

  • Find Mentors: Browse mentor profiles filtered by expertise and availability.
  • Book Sessions: Schedule sessions based on real-time mentor availability slots.
  • Session Management: Track pending, confirmed, and completed sessions with status updates.
  • Feedback & Ratings: Rate sessions and provide feedback to ensure quality mentorship.
  • Mentor Dashboard: Users can toggle their availability and manage their mentor profile details.

2. πŸ“š Knowledge Hub (MicroTalks)

A social feed for sharing academic insights and articles.

  • Posts Feed: View and interact with posts created by the community.
  • Create & Edit: Rich text support for creating posts with thumbnail images.
  • Engagement: Like and comment on posts to foster discussion.

3. πŸ”„ Skill Exchange

A peer-to-peer marketplace for learning.

  • Exchange Offers: Post "I can teach X, I want to learn Y" offers.
  • History: View past and closed exchange requests.
  • Connect: Direct integration with chat to propose exchanges.

4. πŸ’¬ Communication

  • Private Chat: Real-time 1-on-1 messaging with read receipts and online status indicators.
  • AI KnowledgeBot: An intelligent chatbot powered by Google Gemini AI to answer student queries instantly.

5. πŸ‘€ User Profile

  • Academic Identity: Manage university details, session, batch, and CGPA.
  • Social Links: Integration for LinkedIn and Facebook profiles.
  • Security: Secure login, signup, and password management.

πŸ› οΈ Tech Stack

  • Framework: Flutter (Dart)
  • Backend: Firebase (Auth, Firestore, Storage)
  • AI Integration: Google Generative AI (Gemini)
  • State Management: setState, StreamBuilder
  • Navigation: go_router
  • Key Packages:
    • cloud_firestore, firebase_auth
    • google_generative_ai
    • flutter_markdown, gpt_markdown
    • shared_preferences
    • url_launcher

πŸ“Έ Screenshots

Splash Screen-1 Login-2
Sign Up-3 Reset Password-4
ResetPassword throughLink-5 Change Password-6
dashboard-7 findMentor-8
Mentor profile-9 book session-10
My session-11 feedback-12
session and feedback-13 mentee profile-14
Edit profile-15 messageBox-16
chat page-17 mentorship setting-18
Mypost_knowledgeHub-19 nested comment-20
skill exchange-21 edit skill exchange-22
Search-23 knowledge bot-24

βš™οΈ Installation & Setup

Follow these steps to run the project locally.

Prerequisites

  • Flutter SDK (Version ^3.8.1 or higher)
  • Dart SDK
  • A Firebase Project

1. Clone the Repository

git clone https://github.com/your-username/campus-guardian.git
cd campus-guardian

2. Install Dependencies

flutter pub get

3. Firebase Configuration

This project uses flutterfire_cli for Firebase configuration.

  1. Ensure you have the Firebase CLI installed.
  2. Run the following command to link your Firebase project:
    flutterfire configure
    This will generate the firebase_options.dart file in lib/.

4. Environment Variables

Create a .env file in the root directory and add your Gemini API key:

GEMINI_API_KEY=your_api_key_here

(Make sure to add .env to your .gitignore file)

5. Run the App

flutter run

πŸ“‚ Project Structure

lib/
β”œβ”€β”€ core/               # App-wide constants (Routes, Theme)
β”œβ”€β”€ features/           # Feature-based modules
β”‚   β”œβ”€β”€ auth/           # Login, Signup, Auth Gate
β”‚   β”œβ”€β”€ chat/           # Private messaging
β”‚   β”œβ”€β”€ dashboard/      # Home screen & Global Search
β”‚   β”œβ”€β”€ knowledgebot/   # Gemini AI Chatbot
β”‚   β”œβ”€β”€ mentorship/     # Mentor booking & listing
β”‚   β”œβ”€β”€ microtalks/     # Posts & Knowledge Hub
β”‚   β”œβ”€β”€ profile/        # User profile & settings
β”‚   β”œβ”€β”€ skill_exchange/ # Skill swap marketplace
β”‚   └── splash/         # Splash screen
β”œβ”€β”€ services/           # Firebase & API services
└── widgets/            # Reusable UI components

πŸš€ Future Improvements

πŸ”” Notifications & Real-Time Updates

  • Push Notifications: Implement Firebase Cloud Messaging (FCM) to notify users of new messages, session bookings, and replies. (Currently, the NotificationService is drafted but not fully integrated).
  • In-App Alerts: Add a notification center to view past alerts and updates.

πŸ’¬ Enhanced Chat Features

  • Media Sharing: Allow users to send images, documents, and voice notes in private chats (currently text-only).
  • Typing Indicators: Add real-time "User is typing..." indicators in private 1-on-1 chats.
  • Group Chats: Enable group conversations for study groups or project teams.

πŸ€– AI Bot Enhancements

  • Contextual Memory: Update AiBotService to send the conversation history to the Gemini API, allowing the bot to remember previous context within a session.
  • Custom Personas: Allow the bot to switch "modes" (e.g., "Career Counselor," "Academic Advisor," "Code Reviewer").

πŸ“… Advanced Mentorship

  • Video Integration: Integrate Jitsi or Agora for in-app video/audio calls during mentorship sessions.
  • Calendar Sync: Integrate with Google Calendar or Outlook to automatically add booked sessions to the user's personal calendar.
  • Session Reminders: automated reminders 15 minutes before a session starts.

🎨 UI/UX & Customization

  • Dark Mode: Implement a system-aware Dark Mode (currently hardcoded to AppTheme.lightTheme).
  • Localization: Add support for multiple languages (e.g., Bengali/English toggle) to serve a broader student base.
  • Onboarding Flow: Create a dedicated onboarding tutorial for new users to explain features like "Wisdom Credits."

πŸ›  Technical Optimizations

  • State Management: Migrate complex screens from setState to a more robust solution like Riverpod or Bloc for better scalability.
  • Offline Support: Optimize Firestore caching to allow users to view their schedule and saved posts while offline.
  • Admin Panel: Create a web-based admin panel to moderate posts, verify mentors, and manage reported content.

🀝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/YourFeature).
  3. Commit your changes (git commit -m 'Add some feature').
  4. Push to the branch (git push origin feature/YourFeature).
  5. Open a Pull Request.

πŸ‘¨β€πŸ’» Developer

Developed by Abdullah Nazmus-Sakib CSE, Jahangirnagar University


πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

About

CampusGuardian is a comprehensive university community application designed to bridge the gap between students, alumni, and professors. It facilitates mentorship, peer-to-peer skill sharing, and knowledge exchange in a centralized, user-friendly platform.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published