Skip to content
This repository was archived by the owner on May 9, 2026. It is now read-only.

Technologies

Juliemakary edited this page Apr 7, 2026 · 21 revisions

Deployment & Operations

  • Containerization Platform: Docker

    Justification: Enables consistent development and deployment environments by packaging the application and its dependencies into containers.

  • Container Orchestration: Docker Compose

    Justification: Simplifies the management of multi-container applications by defining services (frontend, backend, database) in a single configuration file, making local development and testing easier.

CI/CD

  • CI/CD Platform: GitHub Actions

    Justification: Automates workflows such as building, testing, and linting on every push or pull request, ensuring code quality and reducing manual effort in the development lifecycle.

Frontend

  • Frontend Framework: React Native

    Justification: Enables the development of a single codebase that deploys natively to both iOS, Android, and the Web, significantly reducing development time while maintaining high performance.

  • Build System: Expo

    Justification: Streamlines the build and deployment process with a robust set of pre-configured tools, allowing for rapid prototyping and easy testing across physical devices.

  • Language: Typescript

    Justification: Provides static type checking to catch errors early during development, ensuring better code maintainability and safer refactoring for the team.

  • Styling: NativeWind

    Justification: Allows the use of utility-first Tailwind CSS styling within React Native, ensuring consistent design and faster UI implementation across the application.

Backend

  • Runtime: Node.js

    Justification: Offers a non-blocking, event-driven architecture ideal for handling concurrent API requests and scalable backend services in a unified JavaScript/TypeScript environment.

  • Language: Typescript

    Justification: Enforces type safety across the backend logic, reducing runtime errors and facilitating seamless type-sharing with the frontend codebase.

  • REST API Framework: Hono

    Justification: A lightweight and ultrafast web standard framework that minimizes overhead, providing a simple API for handling HTTP requests.

  • Database: PostgreSQL

    Justification: A robust, open-source relational database selected for its reliability, ACID compliance, and ability to handle complex relational data regarding flights and user claims.

  • ORM: Drizzle

    Justification: A lightweight TypeScript ORM that provides type-safe database access with zero runtime dependencies, ensuring efficient queries and easy schema management.

  • Authentication Framework: Better-Auth

    Justification: Provides a comprehensive, TypeScript-first authentication solution with features like session management and social logins, significantly improving efficiency while ensuring secure access control.

Flight Tracking

  • Flight Tracking API: Airlabs

    Justification: Provides real-time flight status and tracking data, enabling automated claim validation and monitoring of flight disruptions.

Email Service

  • Email Service: Azure Communication Services

    Justification: Supports reliable email delivery and communication with users regarding claim updates, notifications and password recovery.

  • Webhook: Postmark

    Justification: Ensures fast and dependable email webhooks, allowing programmatic handling of email events like deliveries.

Logging

  • Centralized Logging: Sentry

    Link to configuration file Justification: Monitors errors and performance in production & development, enabling rapid debugging and issue tracking.

  • Docker Container Logging: Dozzle

    Justification: Allows all team members to view each containers logs in order to properly monitor, detect, and debug issues in the production deployment.

  • Application Logging: Winston

    Justification: A logging library for Node.js that supports multiple transports (console, files, external services), structured logs, and log levels, making it ideal for debugging, monitoring, and maintaining backend services.

AI Workflows

  • Workflow Platform: n8n

    Justification: A workflow automation tool that orchestrates complex AI and data processes visually, facilitating easy modification and extension to accommodate any future use cases.

  • AI Provider: Gemini

    Justification: Leveraged for its large context window and strong reasoning capabilities to generate detailed flight claim responses and evaluate airline correspondence.

  • OCR: Mistral OCR

    Justification: A specialized model for optical character recognition that accurately extracts text and structured data from uploaded flight documents and tickets.

Code Quality Assurance

  • Linter: ESLint

    Justification: Statically analyzes code to find and fix problems, ensuring adherence to coding standards and best practices across the repository.

  • Formatter: Prettier

    Justification: Automatically formats code to enforce a consistent style, improving readability and reducing friction during code reviews.

  • Git Hooks: Husky

    Justification: Automates pre-commit and pre-push checks (such as linting, formatting, and tests), ensuring code quality is enforced before changes are added to the repository.

Testing

  • Testing Framework (Frontend + n8n): Jest

    Justification: A testing framework for unit and integration testing, providing built-in mocking, assertions, and strong ecosystem support for reliable frontend and n8n testing.

  • Testing Framework (Backend): Vitest

    Justification: A testing framework for backend automated testing that is TypeScript-friendly, which helps the team run reliable unit/integration tests.

Clone this wiki locally