# 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