Skip to content

Latest commit

 

History

History
156 lines (125 loc) · 5.05 KB

File metadata and controls

156 lines (125 loc) · 5.05 KB

SkyGate AI Detection Application - Tech Stack

Overview

SkyGate is built using modern technologies and frameworks to ensure performance, scalability, and maintainability. This document outlines the complete technology stack used in the development of the application.

Backend Technologies

Core Framework

  • Python 3.10+: Primary programming language for the backend
  • Flask 2.3.x: Lightweight web framework for building the RESTful API
  • Flask-RESTful: Extension for creating RESTful APIs with Flask
  • Gunicorn: WSGI HTTP server for production deployment

Database

  • PostgreSQL 14+: Primary relational database for structured data
    • User information
    • Upload records
    • Detection results
    • API keys and usage logs
  • MongoDB 6.0+: NoSQL database for flexible storage of detection metadata
    • Complex analysis results
    • System configuration
    • Unstructured detection data

Authentication & Security

  • Flask-JWT-Extended: JWT token-based authentication
  • Passlib: Password hashing and verification
  • PyJWT: JSON Web Token implementation
  • Flask-Cors: Cross-Origin Resource Sharing (CORS) support

AI Detection Libraries

  • TensorFlow 2.12+: Deep learning framework for neural network models
  • PyTorch 2.0+: Deep learning framework for Vision Transformer models
  • OpenCV 4.7+: Computer vision library for image processing
  • Pillow 9.5+: Python Imaging Library for image manipulation
  • NumPy 1.24+: Numerical computing library
  • SciPy 1.10+: Scientific computing library
  • scikit-image 0.20+: Image processing algorithms

File Processing

  • FFmpeg: Video processing and frame extraction
  • ExifTool: Metadata extraction and analysis
  • python-magic: File type detection

Data Handling & Validation

  • Marshmallow: Object serialization/deserialization
  • Flask-SQLAlchemy: ORM for database interactions
  • PyMongo: MongoDB driver for Python
  • Pydantic: Data validation and settings management

Testing & Quality Assurance

  • Pytest: Testing framework
  • Coverage.py: Code coverage measurement
  • Flake8: Code linting
  • Black: Code formatting

Frontend Technologies

Core Framework

  • TypeScript 5.0+: Typed JavaScript for improved development experience
  • React 18.2+: JavaScript library for building user interfaces
  • React Router 6.10+: Routing library for React applications

UI Components & Styling

  • Material-UI 5.13+: React component library implementing Material Design
  • Emotion: CSS-in-JS library for component styling
  • React-Icons: Icon library for React
  • Framer Motion: Animation library for React

State Management

  • React Context API: Built-in state management for authentication and app-wide state
  • React Query 4.29+: Data fetching and caching library

Form Handling

  • React Hook Form 7.43+: Form validation and handling
  • Yup: Schema validation

File Handling

  • React Dropzone: Drag-and-drop file upload component
  • Axios: HTTP client for API requests

Visualization

  • Chart.js: Charting library for data visualization
  • React-Chartjs-2: React wrapper for Chart.js
  • React-Vis: Data visualization components

Testing & Quality Assurance

  • Jest: JavaScript testing framework
  • React Testing Library: Testing utilities for React
  • Cypress: End-to-end testing framework
  • ESLint: JavaScript linting
  • Prettier: Code formatting

DevOps & Infrastructure

Build Tools

  • Webpack 5: Module bundler for JavaScript
  • Babel: JavaScript compiler
  • npm: Package manager for JavaScript
  • pip: Package manager for Python

Containerization & Deployment

  • Docker: Containerization platform
  • Docker Compose: Multi-container Docker applications
  • Nginx: Web server and reverse proxy

CI/CD

  • GitHub Actions: Continuous integration and deployment
  • Jest: JavaScript testing
  • Pytest: Python testing

Monitoring & Logging

  • Winston: Logging library for Node.js
  • Sentry: Error tracking and monitoring
  • Prometheus: Monitoring system
  • Grafana: Visualization and analytics

Development Tools

Version Control

  • Git: Distributed version control system
  • GitHub: Hosting for Git repositories

Development Environment

  • Visual Studio Code: Code editor
  • PyCharm: Python IDE
  • Postman: API development and testing
  • MongoDB Compass: GUI for MongoDB

Documentation

  • Markdown: Documentation format
  • Swagger/OpenAPI: API documentation
  • JSDoc: JavaScript documentation

System Requirements

Minimum Server Requirements

  • CPU: 4+ cores
  • RAM: 8GB+
  • Storage: 50GB+ SSD
  • OS: Ubuntu 20.04 LTS or newer

Recommended Server Requirements

  • CPU: 8+ cores
  • RAM: 16GB+
  • Storage: 100GB+ SSD
  • OS: Ubuntu 22.04 LTS

Development Environment Requirements

  • Node.js: v16.0.0 or newer
  • Python: v3.10 or newer
  • PostgreSQL: v14 or newer
  • MongoDB: v6.0 or newer
  • Docker: Latest stable version
  • Docker Compose: Latest stable version