https://github.com/vanshpanchal/flutter
Q&A Hub is a Flutter app powered by Firebase where users can post, explore, save, and report interview questions. It features user authentication, Firestore storage, and Firebase Storage for media. Admins can manage reported posts, and users can search and filter questions by topics.
https://github.com/vanshpanchal/flutter
android authentication dart firebase flutter socialapp
Last synced: 9 months ago
JSON representation
Q&A Hub is a Flutter app powered by Firebase where users can post, explore, save, and report interview questions. It features user authentication, Firestore storage, and Firebase Storage for media. Admins can manage reported posts, and users can search and filter questions by topics.
- Host: GitHub
- URL: https://github.com/vanshpanchal/flutter
- Owner: Vanshpanchal
- Created: 2024-07-12T15:28:17.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2025-05-12T05:14:31.000Z (about 1 year ago)
- Last Synced: 2025-05-20T05:38:24.722Z (about 1 year ago)
- Topics: android, authentication, dart, firebase, flutter, socialapp
- Language: Dart
- Homepage:
- Size: 60.8 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 📱 Q\&A Hub
[⬇️ Download APK](https://github.com/Vanshpanchal/Flutter/blob/f7c41ee14122eb20d1cbd8628713e5bb1b6e11a5/Q-A%20Hub.apk)
**Q\&A Hub** is a community-driven mobile application built with **Flutter** and powered by **Firebase**, designed to help users prepare for interviews by posting, exploring, and sharing interview questions. The app also features moderation tools, user profiles, and a robust backend for real-time data handling.
---
## 🖼️ Application Previews


---
## 🚀 Key Features
### 🔐 User Authentication
* Secure login and sign-up via **Firebase Authentication** (Email & Password).
* Password reset and session management support.
### 📖 Explore Questions
* Browse a wide range of categorized and tagged interview questions.
* View posts in real-time with automatic updates via Firestore.
### ✍️ Post Your Questions
* Contribute questions with formatted text and optional image uploads.
* Media files are stored securely in **Firebase Storage**.
### 💾 Save & 🔗 Share
* Save favorite questions for easy access later.
* Share questions as plain text via messaging apps and email.
### 🚩 Report Inappropriate Content
* Users can report questions that are irrelevant or poorly framed.
* Admins receive and manage flagged content via a dedicated review panel.
### 👤 User Profile
* Users can view and edit their profile information including name, contact info, and profile picture.
* Personalized content and question history available.
### 🛠️ Admin Panel
* Admins can moderate reported posts, approve or reject questions, and assign categories.
* Helps maintain a high-quality content standard across the platform.
### 🔍 Search & Filter
* Perform keyword-based searches across all questions.
* Filter questions by difficulty, topic, or programming language.
---
## 🔧 Technologies Used
| Technology | Purpose |
| ----------------------------------- | ------------------------------------------------- |
| **Flutter** | Cross-platform mobile development |
| **Firebase Authentication** | User login, registration, and session management |
| **Cloud Firestore** | Real-time NoSQL database for storing all app data |
| **Firebase Storage** | Upload and serve images/files |
| **Firebase Functions** *(optional)* | Handle server-side logic for automation |
---
## 📦 Setup Instructions
### ✅ Prerequisites
Ensure the following are installed:
* [Flutter SDK](https://flutter.dev/docs/get-started/install)
* [Firebase CLI](https://firebase.google.com/docs/cli)
* A configured Firebase project in the [Firebase Console](https://console.firebase.google.com)
---
### 📁 Clone the Repository
```bash
git clone https://github.com/yourusername/qa-hub.git
cd qa-hub
```
---
### 📦 Install Dependencies
```bash
flutter pub get
```
---
### 🔗 Connect Firebase
#### Android Setup
1. Open the [Firebase Console](https://console.firebase.google.com).
2. Add an Android app to your project.
3. Download `google-services.json` and place it in `android/app/`.
#### iOS Setup
1. Add an iOS app in the Firebase Console.
2. Download `GoogleService-Info.plist` and place it in `ios/Runner/`.
#### Firebase Authentication
* Enable **Email/Password** under Authentication → Sign-in methods.
#### Firestore
* Set up a Firestore database and start in **test mode** or define custom security rules.
#### Firebase Storage
* Configure rules for file uploads (e.g., allow authenticated users to upload media).
---
### ▶️ Run the App
Make sure your device or emulator is running, then execute:
```bash
flutter run
```
---
## 🤝 Contribution Guidelines
We welcome contributions to improve the platform! You can help by:
* 🐛 Reporting bugs
* 💡 Suggesting new features
* 🔧 Submitting pull requests
### To contribute:
1. Fork the repository
2. Create a new branch (`git checkout -b feature/my-feature`)
3. Commit your changes (`git commit -m 'Add feature'`)
4. Push to your branch (`git push origin feature/my-feature`)
5. Open a Pull Request