The Elements
- The User - the person
- The Browser or the Client - the user uses a browser on desktop or mobile to interact with a web application
- The Internet - the medium over which data is passed
- We use this to pass the frontend code to the client upon request, so that the client can render the application
- We also use this when the client makes a request to get some data or modify some data
- We also use this to load some third party dependencies, such as public CSS stylesheets (Bootstrap, etc.)
- The Servers - these host our code
- We have one server hosting our API (backend). This is the interface through which we can update and access data. See Backend.
- We have another server hosting out frontend code. This simply receives a request and serves the frontend code to the client so that the client can render this. This can be hosted on the same server as the backend, but we generally don't do that. See Frontend.
- The Database - this stores our data
The Mode of Communication
- User <> Client
- The user can type, touch, or click the client (depending on device being used) to interact with the client
- The client can display things and make sounds to interact with the client
- Client <> Servers
- The Client and Servers communicate using HTTP (Hyper Text Transfer Protocol) transported over the Internet. For our API, our HTTP requests and responses should follow Our REST API Specification
- Servers <> Database
- Our servers use SQL or NoSQL to interact with our database. You can read more about this on Databases