Skip to content

Tech Stack

Nathan Grilliot edited this page Feb 10, 2026 · 2 revisions

Tech Stack

NQ is built with modern technologies optimized for performance, scalability, and developer experience.

Backend Technologies

Language & Framework

  • Go 1.25.1+ - Primary backend language
  • GraphQL - API query language for flexible data fetching
  • gqlgen (99designs/gqlgen) - Go GraphQL server library and code generator

Database

  • Neo4j - Graph database for storing media relationships

Key Backend Libraries

  • neo4j-go-driver/v5 - Official Neo4j driver for Go
  • golang-jwt/jwt/v5 - JWT authentication
  • joho/godotenv - Environment variable management
  • google/uuid - UUID generation
  • cyruzin/golang-tmdb - The Movie Database API client

Frontend Technologies

Language & Framework

  • TypeScript - Strongly-typed JavaScript for safer code
  • React Native - Cross-platform mobile framework
  • Expo SDK 54 - React Native development platform
  • Expo Router - File-based routing for React Native

State Management & Data

  • Apollo Client - GraphQL client for React
  • AsyncStorage - Persistent local storage
  • React Hooks - Modern state management patterns

UI & Navigation

  • React Navigation - Navigation library (bottom tabs, stack navigation)
  • Expo Vector Icons - Icon library
  • React Native SVG - SVG rendering
  • React Native Chart Kit - Data visualization
  • React Native Gesture Handler - Touch gesture handling

Key Frontend Libraries

  • expo-auth-session - OAuth authentication flows
  • expo-secure-store - Secure credential storage
  • expo-linking - Deep linking support
  • react-native-reanimated - Smooth animations
  • graphql - GraphQL query language support

Database Schema

The Neo4j graph database models the following entities and their relationships:

Core Entities

  • Users - User accounts and authentication
  • Media Items - Movies, TV shows, books, games, music
  • Creators - Actors, directors, authors, developers, artists
  • Platforms - Streaming services, stores, and distribution channels
  • Tags - Content categorization and metadata

Relationships

The graph structure connects these entities to enable:

  • Personalized recommendations based on consumption history
  • Discovery of similar content through shared attributes
  • Context-aware suggestions considering user preferences
  • Cross-platform media tracking

Clone this wiki locally