Skip to content

Commit dc6c557

Browse files
authored
Update README.md
1 parent afc644d commit dc6c557

File tree

1 file changed

+62
-58
lines changed

1 file changed

+62
-58
lines changed

README.md

+62-58
Original file line numberDiff line numberDiff line change
@@ -1,149 +1,153 @@
1-
# Managin your personal tasks (both the backend API and frontend UI)
1+
# Managing your personal tasks (both the backend API and frontend UI)
22

33
There are a lot of options to choose from when it comes to building a web application. Every step of the way, from the frontend to the backend to deployment, you'll have to choose the tools and technologies. This can be overwhelming.
44

5-
Which backend framework? What about the testing library?
6-
Which JavaScript framework?
7-
Should I use a SQL or NoSQL database?
8-
Should I deploy to some cloud provider? Will that cost me a lot?
9-
What about scalability of my application?
10-
How should I deploy it? Manually or CI/CD?
11-
If you want to build modern, insanely scalable applications that run on AWS for low prices this is course for you. It will teach you how to:
12-
13-
Build serverless FastAPI APIs that run on AWS Lambda
14-
Use DynamoDB as the main database for your applications
15-
Deploy FastAPI apps to AWS Lambda using CI/CD on GitHub Actions and Serverless Framework
16-
Use Cognito for authentication inside your APIs
17-
Consume the backend FastAPI API from the frontend Vue application
18-
Deploy Vue applications to S3
19-
Use Cognito for authentication inside Vue applications
20-
Serve your applications with CloudFront CDNs on custom domains
21-
Set up monitoring and alerting for your applications with CloudWatch
5+
- Which backend framework? What about the testing library?
6+
- Which JavaScript framework?
7+
- Should I use a SQL or NoSQL database?
8+
- Should I deploy to some cloud provider? Will that cost me a lot?
9+
- What about scalability of my application?
10+
- How should I deploy it? Manually or CI/CD?
11+
12+
13+
### We want to show how to build modern, insanely scalable applications that run on AWS. This project shows how to:
14+
15+
- Build serverless FastAPI APIs that run on AWS Lambda
16+
- Use DynamoDB as the main database for your applications
17+
- Deploy FastAPI apps to AWS Lambda using CI/CD on GitHub Actions and Serverless Framework
18+
- Use Cognito for authentication inside your APIs
19+
- Consume the backend FastAPI API from the frontend Vue application
20+
- Deploy Vue applications to S3
21+
- Use Cognito for authentication inside Vue applications
22+
- Serve your applications with CloudFront CDNs on custom domains
23+
- Set up monitoring and alerting for your applications with CloudWatch
2224

2325
## App overview
2426

2527
Deploys a web application (both the backend API and frontend UI) for managing your personal tasks. We'll cover the following use cases:
2628

27-
create a task
28-
list open tasks
29-
list closed tasks
30-
close a task
31-
You'll set up a git repository from scratch, build the API, set up a CI/CD pipeline, build a DynamoDB data model, use Cognito for authentication, build a Vue application, monitor your application, and deploy new versions of the application.
29+
- create a task
30+
- list open tasks
31+
- list closed tasks
32+
- close a task
33+
34+
In this git repository, we shall build the API, set up a CI/CD pipeline, build a DynamoDB data model, use Cognito for authentication, build a Vue application, monitor your application, and deploy new versions of the application.
3235

3336
## Tools, Frameworks, and Services
3437

3538
### GitHub
3639
GitHub is a solution for managing the full software development lifecycle. You'll use it for:
3740

38-
external git repository
39-
CI/CD pipeline
41+
- external git repository
42+
- CI/CD pipeline
43+
4044
You can replace it with:
4145

42-
Bitbucket (with pipelines)
43-
GitLab
44-
GitHub + CircleCI
46+
- Bitbucket (with pipelines)
47+
- GitLab
48+
- GitHub + CircleCI
4549

4650
### Poetry
4751
Poetry is a tool used for Python dependency management. You'll use it for managing dependencies.
4852

4953
You can replace it with:
5054

51-
pip
52-
pipenv
55+
- pip
56+
- pipenv
5357

5458
### FastAPI
5559
FastAPI is a high-performance, easy-to-learn, fast-to-code, ready-for-production web framework for building APIs with Python. You'll use it for building a web application.
5660

5761
You can replace it with:
5862

59-
Flask
60-
Django
61-
Pyramid
63+
- Flask
64+
- Django
65+
- Pyramid
6266

6367
### Vue
6468
Vue is a an approachable, performant, and versatile framework for building web user interfaces with JavaScript/TypeScript. You'll use it for building a web application.
6569

6670
You can replace it with:
6771

68-
React
69-
Svelte
70-
Angular
72+
- React
73+
- Svelte
74+
- Angular
7175

7276
### pytest
7377
The pytest framework makes it easy to write Python tests. You'll use it to write tests for the web application.
7478

7579
You can replace it with:
7680

77-
unittest
78-
nose
81+
- unittest
82+
- nose
7983

8084
### AWS DynamoDB
8185
Amazon DynamoDB is "fast, flexible NoSQL database service for single-digit millisecond performance at any scale". You'll use it to persist data used by the web application.
8286

8387
You can replace it with:
8488

85-
Postgres
86-
MongoDB
89+
- Postgres
90+
- MongoDB
8791

8892
### AWS Cognito
8993
Amazon Cognito is AWS service that simplifies authentication management by a lot. You'll use it sign-up and sign-in your users.
9094

9195
You can replace it with:
9296

93-
Auth0
94-
Okta
97+
- Auth0
98+
- Okta
9599

96100
### AWS Cloudwatch
97101
Amazon CloudWatch is a monitoring and observability service. You'll use it to gather and search logs and monitor resources (like CPU and memory usage) used by the web application.
98102

99103
You can replace it with:
100104

101-
Prometheus
102-
Datadog
103-
New Relic
104-
Splunk
105+
- Prometheus
106+
- Datadog
107+
- New Relic
108+
- Splunk
105109

106110
### AWS Lambda
107111
AWS Lambda is a serverless, event-driven compute service that lets you run code for virtually any type of application or backend service without provisioning or managing servers. You'll use it to run API of your web application.
108112

109113
You can replace it with:
110114

111-
Azure Functions
112-
GCP Cloud Functions
115+
- Azure Functions
116+
- GCP Cloud Functions
113117

114118
### CloudFormation
115119
CloudFormation is an AWS service used to model, provision, and manage AWS resources. You'll use it to manage the AWS infrastructure (DNS, CloudFront, etc.) required for running your application.
116120

117121
You can replace it with:
118122

119-
Terraform
120-
Ansible
121-
Pulumi
123+
- Terraform
124+
- Ansible
125+
- Pulumi
122126

123127
### Serverless Framework
124128
Serverless Framework is framework used for developing, deploying, troubleshooting, and securing your serverless applications. You'll use it to manage application resources, like AWS Lambda functions and environment variables, and deploying your applications.
125129

126130
You can replace it with:
127131

128-
Zappa
129-
Chalice
132+
- Zappa
133+
- Chalice
130134

131135
### CloudFront
132136
CloudFront is low-latency content delivery network. You'll use it to serve the Vue application from S3 and API from Lambda.
133137

134138
You can replace it with:
135139

136-
Cloudflare
137-
Google Cloud CDN
138-
Microsoft Azure CDN
140+
- Cloudflare
141+
- Google Cloud CDN
142+
- Microsoft Azure CDN
139143

140144
### Codecov
141145
Codecov is service that helps you track the coverage of your code. You can track changes and compare branches and commits. It helps to focus on changes instead of the current code coverage percentage.
142146

143147
You can replace it with:
144148

145-
Coveralls
146-
Github Action Code Coverage Report
149+
- Coveralls
150+
- Github Action Code Coverage Report
147151

148152
### Mangum
149153
Mangum is an adapter for running ASGI applications in AWS Lambda environment. It handles API Gateway events sent to Lambda and responses returned from ASGI application.

0 commit comments

Comments
 (0)