Tech Stack - CSC4790-Fall2024-Org/Dream-Interpreter GitHub Wiki

Tech Stack and Development Tools for Nocturnal Navigator Dream Interpreter

The Nocturnal Navigator Dream Interpreter project utilizes a modern tech stack and a suite of development tools designed to ensure a robust, cross-platform, and user-friendly application. Below is an overview of the technologies, APIs, and tools used during the development process:


Frontend Development

  • Framework: [React Native]

    • Used for building a cross-platform mobile application (iOS and Android) with a shared codebase.
    • Ensures seamless integration with Expo and a native-like user experience.
  • Navigation: [Expo Router]

    • Facilitates declarative navigation using file-based routing within the app.
  • State Management: React's Context API

    • Manages global state for handling user sessions and preferences.

Backend Services

  • Database: [Supabase]

    • Efficiently handles on-device database operations, ensuring offline support and fast local queries.
    • Manages database operations and real-time sync between the app and backend.
  • Authentication: [Supabase Auth]

    • Provides secure user authentication for account creation, login, and session management.

Integrated APIs

  • Gooey API: [Gooey AI]

    • Powers dynamic and engaging Gooey animations that enhance the app's visual appeal.
    • Integrates smoothly with user interactions for an immersive experience.
  • Gemini API: [Gemini AI Api]

    • Facilitates advanced natural language processing and content generation, enabling personalized and meaningful dream interpretations.

Development Tools

  • Integrated Development Environment (IDE): [Visual Studio Code (VS Code)]

    • The primary code editor used for project development, enhanced with plugins for React Native, ESLint, and Prettier.
  • Development Platform: [Expo]

    • Simplifies development, testing, and deployment of React Native applications with built-in tools for debugging and previewing.
  • Version Control: [Git] and [GitHub]

    • Used for source code management, collaboration, and version control.
  • Package Management: [npm] and [yarn]

    • Handles project dependencies and scripts efficiently.

Testing and Debugging

  • Expo Go

    • Allows live testing of the application during development.
  • React Native Debugger

    • For debugging React Native code and monitoring state.

Additional Tools

  • Markdown Documentation Tools:
    • Used for maintaining project documentation, including READMEs and wikis.

This comprehensive tech stack, bolstered by the integration of the Gooey and Gemini APIs, ensures that the Nocturnal Navigator Dream Interpreter is not only visually appealing but also functionally advanced, offering users an unparalleled dream analysis experience.