LaunchPad is a comprehensive tech-focused social media platform designed for tech enthusiasts to connect, share knowledge, watch podcasts, chat, and trade products through an integrated marketplace.
LaunchPad serves as a hub for the tech community, combining features from popular social platforms with specialized tools for tech professionals and hobbyists. The application provides a seamless experience for knowledge sharing and community engagement.
Users can share their insights, project updates, and tech news with the community.
- Create and share text and image-based posts.
- View a dynamic feed of featured and recent posts from other tech enthusiasts.
- Interact with posts through likes and comments (based on model definitions).
A dedicated section for educational and informative tech content.
- Watch curated tech podcasts directly within the application.
- Powered by the youtube_player_flutter package for a seamless video experience.
- Access a library of tech-focused video content.
Connect and collaborate with other users through a built-in chat system.
- Private messaging with friends and other community members.
- Real-time message updates powered by Cloud Firestore.
- Intuitive chat interface with message status indicators.
A specialized marketplace for buying and selling tech-related products.
- List products for sale with detailed descriptions, prices, and images.
- Browse a wide range of tech hardware, software, and accessories.
- Secure payment processing integrated with Stripe for safe transactions.
- Order management and tracking within the application.
A dedicated portal for exploring tech career opportunities.
- Browse job listings tailored for tech professionals.
- Search for roles based on specific criteria.
The application is built using a modern mobile development stack focused on scalability and real-time performance.
- Framework: Flutter (Dart)
- State Management: Provider
- Navigation: Animated Bottom Navigation Bar
- UI Components: Material Design with custom Google Fonts integration
- Authentication: Firebase Authentication (Email/Password, etc.)
- Database: Cloud Firestore (NoSQL real-time database)
- Storage: Firebase Storage (for images and media files)
- Payment Gateway: Stripe (via flutter_stripe)
- API Interaction: Dio (for networking tasks)
- user.dart: Manages user profiles and authentication data.
- post.dart: Defines the structure for social media posts.
- market_place.dart: Handles product listings and marketplace data.
- chat_message.dart: Represents messages in the communication system.
- podcast.dart: Structures data for tech video content.
- order.dart: Manages marketplace transaction records.
- Flutter SDK (latest stable version)
- Dart SDK
- Firebase Account and Project
- Stripe Account (for marketplace features)
- Android Studio or VS Code with Flutter extensions
- Clone the repository to your local machine.
- Navigate to the project directory in your terminal.
- Run the following command to install all dependencies:
flutter pub get
- Create a new Firebase project in the Firebase Console.
- Enable Authentication (Email/Password), Cloud Firestore, and Firebase Storage.
- Register your Android and iOS apps in the Firebase project settings.
- Download the
google-services.jsonfile for Android and place it in theandroid/app/directory. - Download the
GoogleService-Info.plistfile for iOS and place it in theios/Runner/directory. - The
firebase_options.dartfile should be updated with your specific project configurations if necessary.
- Obtain your Publishable and Secret keys from the Stripe Dashboard.
- Configure the Stripe keys in the
lib/services/stripe_services.dartfile or through your environment variables. - Ensure the native configurations for Stripe are set up correctly in
android/app/build.gradleandios/Runner/Info.plist.
To run the app on a connected device or emulator, use:
flutter run- lib/auth: Handles authentication screens and logic.
- lib/model: Data structures and models for the entire application.
- lib/providers: State management logic for different features.
- lib/screens: UI screens for social feed, marketplace, podcasts, chat, etc.
- lib/services: External service integrations like Firebase and Stripe.
- lib/widgets: Reusable UI components used across the application.