# Getting started

### Who is this for?

* People who have been hacking away a few applications and are now looking to achieve professional quality.
* Solo founders who wants to build a high quality SaaS product.

### What does it cover?

Everything you need to know to be able to build, run, scale and maintain a web application.

* How to build the most common features
* Automate code quality check
* Unit, Integration and E2E tests
* Deploy apps on AWS
* Secure your API, server and database
* Take payment for a monthly subscription

### What are we building?

![](https://2559875260-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LnRxZ2gbXvMdM70TAFz%2F-LrANY3f9Fbe2if0f85I%2F-LrANZl5eN4aUdaGntLT%2Fimage.png?alt=media\&token=11ce6147-42fa-4c12-8e5c-c5b3f3dcb58e)

A collaborative bookmarking SaaS application with the following features:

* User sign in/up
* Add, update and delete links
* Organise your links with tags
* Add and remove collaborators
* Realtime comments

To achieve that we will:

* Build a [GraphQL](https://graphql.org) API with [Subscriptions](https://www.apollographql.com/docs/react/advanced/subscriptions/), package it in a [Docker](https://www.docker.com) container and deploy it to [Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk/).
* Build a [React](https://reactjs.org) application using [Styled-Components](https://www.styled-components.com) and [Apollo](https://www.apollographql.com) and host it on [S3](https://aws.amazon.com/s3/)**.**
* Store our data in [Postgres](https://www.postgresql.org) managed by [RDS](https://aws.amazon.com/rds/) in a [Private VPC](https://aws.amazon.com/vpc/).
* Use [CloudFront](https://aws.amazon.com/cloudfront/) to enable HTTPS, serve S3 files and redirect URLs.
* Buy a domain on [Route53](https://aws.amazon.com/route53/)
* Manage our cloud resources with [CloudFormation](https://aws.amazon.com/cloudformation/).

### Resources to read before you start

* [Introduction To JavaScript](https://www.codecademy.com/learn/introduction-to-javascript)
* [Learn CSS](https://www.codecademy.com/learn/learn-css)
* [React tutorial](https://reactjs.org/tutorial/tutorial.html)
* [How do I start with Node.js after I installed it?](https://nodejs.org/en/docs/guides/getting-started-guide/)
* [GitHub guide](https://guides.github.com/activities/hello-world/)
* [TypeScript in 5 minutes](https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html)
* [Getting started with Docker](https://docs.docker.com/get-started/)

You don't need in-depth knowledge about those technologies to follow the tutorial.

{% hint style="info" %}
Any questions? Find me on Twitter [@florianherrengt](https://twitter.com/florianherrengt).

Want to hire us? [Let's chat.](https://calendly.com/florianherrengt/15min)&#x20;
{% endhint %}
