You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/source/tutorial/introduction.md
+57-3Lines changed: 57 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,8 +3,62 @@ title: 0. Introduction
3
3
description: Start here to learn how to build fullstack apps with Apollo
4
4
---
5
5
6
-
<h2id="apollo">What is Apollo?</h2>
6
+
Welcome! We're excited that you've decided to learn Apollo. This fullstack tutorial will guide you through building your first app with the Apollo platform in about an hour. Throughout the tutorial, you'll learn how to build a graph API and connect it to a React frontend.
7
7
8
-
<h2id="learn">What you'll build</h2>
8
+
We want you to feel confident that you have the knowledge you need to build a production-ready app with Apollo, so we're forgoing hello world in favor of a real world example complete with authentication, pagination, testing, and more. Ready? Let's dive right in!
9
9
10
-
<h2id="dev-environment">Set up your development environment</h2>
10
+
<h2id="what-is-apollo">What is Apollo?</h2>
11
+
12
+
Apollo is a complete platform for implementing a graph over your data. It includes two runtime libraries, **Apollo Server** and **Apollo Client**, for building and querying your graph's API. It also features developer tooling that integrates with your existing workflow and gives you full visibility into the performance and security of your graph.
13
+
14
+
Why do you need a graph? Today, one of the most difficult parts of building an app is figuring out your data layer. Often, there's many data sources you need to fetch from and many clients you need to support. When you layer a graph in between your services and your UI, you can remove a lot of complexity from your data fetching logic and ship features faster.
15
+
16
+
<divstyle="text-align:center">
17
+

18
+
</div>
19
+
20
+
**[GraphQL](https://www.graphql.org/)** is the specification that we'll be using to communicate between our graph API and client. The spec itself is language-agnostic and unopinionated, so we're choosing to implement GraphQL with the Apollo platform.
21
+
22
+
<h2id="tutorial-app">What we'll build</h2>
23
+
24
+
In this tutorial, we'll build an interactive app for reserving your spot on an upcoming Space-X launch. You can think of it as an Airbnb for space travel! All of the data is real, thanks to the [SpaceX-API](https://github.com/r-spacex/SpaceX-API).
25
+
26
+
Here's what the finished app will look like:
27
+
<!-- TODO: Add screenshot -->
28
+
29
+
The app has five screens: a login screen, a list of launches, a launch detail, a profile page, and a cart. The graph API powering our space app connects to a REST API and a SQLite database. Don't worry if you're unfamiliar with those technologies, you don't need to know how to build a REST API or SQLite database from scratch in order to complete the tutorial.
30
+
31
+
We want this to model a real world Apollo app as much as possible, so we're covering essential topics like authentication, pagination, state management, testing, and deployment.
32
+
33
+
<h2id="prerequisites">Prerequisites</h2>
34
+
35
+
The tutorial assumes that you're comfortable with JavaScript/ES6, you've fetched data from an API before, and you have basic familiarity with React. If you need to brush up on your React skills, we recommend going through the [official tutorial](https://reactjs.org/tutorial/tutorial.html). Building your frontend with React is not a requirement for using Apollo, although it is the most popular way developers integrate with Apollo Client. Even if you use another view layer like Angular or Vue, you will still be able to pick up on the concepts covered in the client section and apply them to your view layer of choice.
While it's not a requirement, we recommend using [VSCode](https://code.visualstudio.com/) as your editor so you can take advantage of all the awesome features the Apollo VSCode extension enables. We're hoping to support other editors in the future.
45
+
46
+
<h2id="dev-environment">Set up your development environment</h2>
47
+
48
+
Now the fun begins! First, you'll need to install our developer tools:
49
+
- Apollo Engine (required): Our cloud service where you'll register and manage your graph API
50
+
- Apollo DevTools for Chrome (suggested): Our Chrome extension giving you full visibility into your client
51
+
- Apollo VSCode (suggested): Our editor integration that offers intelligent autocomplete, metrics, and more
There are two folders: one for the server and one for the client. We will be working in the server folder first. If you're comfortable with building a graph API already and you want to skip to the client portion, navigate to the [last half of the tutorial](./client.html).
59
+
60
+
<h3id="help">Where can I get help?</h3>
61
+
62
+
We know that learning a new technology can sometimes be overwhelming, and it's totally normal to get stuck! If that happens, we recommend joining the [Apollo Slack](https://www.apollographql.com/slack) community and posting in the relevant channel (either #apollo-server or #apollo-client) for some quick answers.
63
+
64
+
If something in the tutorial seems confusing or contains an error, we'd love your feedback! Just click the Edit on GitHub link at the bottom to open a new pull request or open an issue on the repository.
0 commit comments