Coder Social home page Coder Social logo

apollo-ios-dev's Introduction

Apollo GraphQL

GitHub Action Status MIT license Swift 5.7 supported

☑️ Apollo Clients User Survey
What do you like best about Apollo iOS? What needs to be improved? Please tell us by taking a one-minute survey. Your responses will help us understand Apollo iOS usage and allow us to serve you better.

Apollo iOS Dev

This repo contains the development environment for working on and contributing to the Apollo iOS ecosystem. This repo uses a git subtree setup to include the following repos for development:

All code changes are pushed out to their respective repos whenever a PR is merged. This allows us to provide a cohesive development environment while also providing packages to users that contain less overall files and dependencies, such as things only really used for development and testing.

Getting Started

To get started contributing to Apollo iOS, the first step you need to take is to fork this (apollo-ios-dev) repo. Once you have forked and cloned the repo the next step is to generate the Xcode Workspace that you will use for development.

Tuist

This project uses Tuist to handle generation of the Xcode workspace for development. In order to use Tuist run the following local script in terminal to ensure you have it installed:

./scripts/install-tuist.sh

In order to generate the project/workspace you will need to run the tuist generate command from the project root.

There is also a githook setup to auto-run tuist generate whenever a branch is checked out, in order for git to find and use the hook run the following make command to ensure the git config is pointing to the correct location:

make repo-setup

Note: This will update the local git config in your checkout of the repo by running the following command: git config core.hooksPath .githooks

A Get started guide for Tuist along with other documentation is also available for reference.

After you have run the tuist generate command you should see both an ApolloDev.xcodeproj and ApolloDev.xcworkspace in the projects root directory. You should only use the Xcode Workspace for development as it includes the ApolloDev.xcodeproj as well as the SPM packages for the subtree projects so that everything can be developed in the same workspace.

Submitting Changes

After working and making changes in the ApolloDev.xcworkspace you can commit your changes as normal and submit a PR to the main branch of the apollo-ios-dev repo for review.

Issues

To report an issue, bug, or feature request, you can do so in the apollo-ios repo.

Roadmap

The roadmap is a high-level document that describes the next major steps or milestones for this project. We are always open to feature requests, and contributions from the community.

Contributing

This project is being developed using Xcode 15 and Swift 5.9.

Some of the tests run against a simple GraphQL server serving the Star Wars example schema (see installation instructions there).

For further information on contributing, reporting issues, suggesting features, etc please see our Apollo Contributor Guide guide.

Maintainers

Who is Apollo?

Apollo builds open-source software and a graph platform to unify GraphQL across your apps and services. We help you ship faster with:

  • Apollo Studio – A free, end-to-end platform for managing your GraphQL lifecycle. Track your GraphQL schemas in a hosted registry to create a source of truth for everything in your graph. Studio provides an IDE (Apollo Explorer) so you can explore data, collaborate on queries, observe usage, and safely make schema changes.
  • Apollo Federation – The industry-standard open architecture for building a distributed graph. Use Apollo’s gateway to compose a unified graph from multiple subgraphs, determine a query plan, and route requests across your services.
  • Apollo Client – The most popular GraphQL client for the web. Apollo also builds and maintains Apollo iOS and Apollo Kotlin.
  • Apollo Server – A production-ready JavaScript GraphQL server that connects to any microservice, API, or database. Compatible with all popular JavaScript frameworks and deployable in serverless environments.

Learn how to build with Apollo

Check out the Odyssey learning platform, the perfect place to start your GraphQL journey with videos and interactive code challenges. Join the Apollo Community to interact with and get technical help from the GraphQL community.

apollo-ios-dev's People

Contributors

abernix avatar anthonymdev avatar bignimbus avatar bobafetters avatar calvincestari avatar ck3g avatar dependabot[bot] avatar designatednerd avatar ethansinjin avatar fassko avatar flobories avatar giladronat avatar hornmichaels avatar hwillson avatar iron-ham avatar jpvajda avatar ketenshi avatar kimdv avatar manicmaniac avatar martijnwalraven avatar maxdesiatov avatar namolnad avatar renovate-bot avatar renovate[bot] avatar rolandasrazma avatar sfoulston avatar svc-secops avatar tokizuoh avatar tonyarnold avatar trevorblades avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.