Skip to content

JBWolfFlow/DCOP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

109 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DCOP Mobile πŸ‡ΊπŸ‡Έ

Flutter Python FastAPI License Platform

Defense Contracting Opportunities Platform - Your comprehensive mobile solution for navigating federal contracting opportunities, powered by real-time data from SAM.gov and USAspending.gov.


🌟 Features

Core Capabilities

  • πŸ” Smart Opportunity Discovery: AI-powered search and filtering of federal contracting opportunities
  • πŸ“Š NAICS Dashboard: Comprehensive industry analytics with trend visualization
  • πŸ’¬ AI Copilot: Intelligent assistant for contract guidance and insights
  • πŸ” Enterprise Security: Biometric authentication, certificate pinning, and encrypted data storage
  • πŸ“± Offline-First: Full functionality with intelligent caching and sync
  • 🎨 Modern UI/UX: Material Design 3 with adaptive theming

Data Integration

  • SAM.gov API: Real-time contract opportunities and entity data
  • USAspending.gov: Historical spending analytics and trends
  • Live ETL Pipeline: Automated data processing and enrichment
  • Smart Caching: Optimized offline access with background sync

User Experience

  • Personalized Dashboard: Customizable widgets and saved searches
  • Advanced Filtering: Multi-criteria search with NAICS code support
  • Push Notifications: Real-time alerts for matching opportunities
  • Profile Management: Secure user preferences and settings
  • Data Usage Tracking: Monitor API consumption and cache status

πŸ—οΈ Architecture

Frontend (Flutter)

lib/
β”œβ”€β”€ core/                    # Core utilities and services
β”‚   β”œβ”€β”€ network/            # API client and network management
β”‚   β”œβ”€β”€ security/           # Security services (biometric, encryption)
β”‚   β”œβ”€β”€ theme/              # App theming and styling
β”‚   └── widgets/            # Reusable UI components
β”œβ”€β”€ features/               # Feature modules (Clean Architecture)
β”‚   β”œβ”€β”€ authentication/     # User auth and session management
β”‚   β”œβ”€β”€ dashboard/          # Home and profile screens
β”‚   β”œβ”€β”€ opportunities/      # Contract opportunity browsing
β”‚   β”œβ”€β”€ naics_dashboard/    # Industry analytics
β”‚   └── chat/               # AI Copilot integration
└── main.dart               # Application entry point

Backend (Python/FastAPI)

backend/
β”œβ”€β”€ api/                    # API endpoints and routes
β”œβ”€β”€ core/                   # Core business logic
β”œβ”€β”€ database/               # Database models and migrations
β”œβ”€β”€ external/               # External API clients (SAM.gov, USAspending)
β”œβ”€β”€ services/               # Business services and ETL
└── main.py                 # FastAPI application

Technology Stack

  • Frontend: Flutter 3.24.5, Dart 3.5.4
  • Backend: Python 3.11+, FastAPI 0.115+
  • Database: SQLite (local), PostgreSQL (production-ready)
  • State Management: flutter_bloc
  • Networking: dio with retry logic
  • Security: local_auth, flutter_secure_storage, certificate pinning
  • Caching: Hive for offline-first architecture

πŸš€ Getting Started

Prerequisites

  • Flutter SDK: 3.24.5 or higher
  • Dart SDK: 3.5.4 or higher
  • Python: 3.11 or higher
  • Git: Latest version
  • IDE: VS Code or Android Studio (recommended)

Installation

1. Clone the Repository

git clone https://github.com/JBWolfFlow/DCOP.git
cd DCOP

2. Backend Setup

# Navigate to backend directory
cd backend

# Create virtual environment
python -m venv venv

# Activate virtual environment
# On macOS/Linux:
source venv/bin/activate
# On Windows:
venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Create .env file
cp .env.example .env
# Edit .env with your API keys and configuration

# Initialize database
python scripts/init_production_db.py

# Start backend server
uvicorn main:app --reload --host 0.0.0.0 --port 8000

3. Frontend Setup

# Return to project root
cd ..

# Install Flutter dependencies
flutter pub get

# Run code generation
flutter pub run build_runner build --delete-conflicting-outputs

# Start the app
flutter run

Environment Variables

Create a backend/.env file with the following:

# API Keys
SAM_GOV_API_KEY=your_sam_gov_api_key_here
USASPENDING_API_KEY=your_usaspending_api_key_here

# Database
DATABASE_URL=sqlite:///./dcop.db

# Security
SECRET_KEY=your_secret_key_here
JWT_SECRET_KEY=your_jwt_secret_here
JWT_ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30

# API Configuration
API_BASE_URL=http://localhost:8000
CORS_ORIGINS=["http://localhost:3000","http://localhost:8080"]

# Feature Flags
ENABLE_CACHING=true
ENABLE_OFFLINE_MODE=true
CACHE_TTL_HOURS=24

πŸ“± Platform Support

Platform Status Notes
iOS βœ… Ready iOS 12.0+
Android βœ… Ready Android 6.0+ (API 23+)
Web 🚧 Planned Future release
macOS 🚧 Planned Future release
Windows 🚧 Planned Future release
Linux 🚧 Planned Future release

πŸ§ͺ Testing

Run All Tests

# Flutter tests
flutter test

# Backend tests
cd backend
pytest

# Integration tests
flutter test integration_test/

Code Coverage

# Generate coverage report
flutter test --coverage
genhtml coverage/lcov.info -o coverage/html
open coverage/html/index.html

πŸ“¦ Building for Production

Android

# Build APK
flutter build apk --release

# Build App Bundle (recommended for Play Store)
flutter build appbundle --release

iOS

# Build for iOS
flutter build ios --release

# Archive for App Store
# Open Xcode and use Product > Archive

πŸ”’ Security

  • Biometric Authentication: Face ID, Touch ID, fingerprint support
  • Certificate Pinning: Prevents man-in-the-middle attacks
  • Encrypted Storage: Sensitive data encrypted at rest
  • Secure API Communication: HTTPS with TLS 1.3
  • Token-Based Auth: JWT with refresh token rotation
  • Input Validation: Comprehensive sanitization and validation

For security concerns, please email: security@dcop.app


🀝 Contributing

We welcome contributions! Please see our CONTRIBUTING.md for details on:

  • Code of Conduct
  • Development workflow
  • Pull request process
  • Coding standards
  • Testing requirements

πŸ“„ License

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


πŸ‘₯ Team


πŸ“ž Support


πŸ—ΊοΈ Roadmap

Beta Release (Current)

  • Core opportunity search and filtering
  • NAICS dashboard with analytics
  • AI Copilot integration
  • Offline-first architecture
  • Biometric authentication
  • iOS TestFlight release
  • Android Play Store beta

Version 1.0 (Q1 2025)

  • Advanced search with ML recommendations
  • Contract award predictions
  • Team collaboration features
  • Enhanced analytics dashboard
  • Multi-language support

Future Enhancements

  • Web platform support
  • Desktop applications (macOS, Windows, Linux)
  • API for third-party integrations
  • Enterprise SSO support
  • Advanced reporting and exports

πŸ“Š Project Status

Current Version: Beta 0.9.0
Status: Active Development
Last Updated: January 2025

Recent Updates

  • βœ… Implemented offline-first caching system
  • βœ… Enhanced NAICS dashboard with trend charts
  • βœ… Added biometric authentication
  • βœ… Integrated SAM.gov and USAspending APIs
  • βœ… Completed security hardening
  • 🚧 Preparing for TestFlight/Play Store beta release

πŸ™ Acknowledgments

  • SAM.gov: Federal contract opportunity data
  • USAspending.gov: Federal spending analytics
  • Flutter Team: Amazing cross-platform framework
  • FastAPI: High-performance Python web framework
  • Open Source Community: Countless libraries and tools

πŸ“ˆ Statistics

GitHub stars GitHub forks GitHub watchers


Built with ❀️ for the federal contracting community
Making government contracting accessible to everyone

About

Defense Contracting Opportunities Platform - Mobile app for federal contracting

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors