From the ground up (WIP)
Build a simple web app:
- one single HTML page to draw a world map and highlight the countries you've visited.
- create a React app to expand on that idea
- create a simple backend, or an API server (Express/Node)
- create a simple database (Postgres)
At the end of Part 1 you should have a minimal however functional web app, yet it is hard to sell it, due to the lack of features and lack of stability and scalability.
Now you have 2 branches to choose from:
- if you want to be an awesome Software Engineer (SWE), focus on Part 2a Development;
- if you are more interested in scalability, availability, large scale distributed systems, and want to be a Site Reliability Engineer (SRE), then Part 2b Deployment may be more relevant.
This covers the development only, regardless how it would be deployed. Think of SWE.
- gRPC instead of REST
security: e.g. Google Cloud Endpoint API Keys, Auth0, or Okta
- API auth
- User auth
This covers the deployment, regardless of the functionalities of the app. Think of SRE.
- Deploy to cloud
- Dockerized app and database
- use proxy (Envoy)