Full-stack
- File size
- 13.3KB
- Rendered lines
- 269
Full-stack
To know anything, you must know everything. (For clarity, this document is about full-stack architecture.)
Definitions
Within the context of software development.
- Architecture: blueprint of how a website or application’s components interact with each other AND how data flows through the system
- Full-stack: consists of the three below layers
- Frontend (client-side code): UI and UX
- Backend (server-side code): logic, data processing, API handling
- Database (database code): for data storage and management
- API (application programming interface): bridge between the frontend and backend that defines communication via HTTP requests
Frontend
- Primary user interface (UI) that directly impacts the user experience (UX)
- Built using web technologies
- Web programming
- Frameworks (libraries)
Backend
- Responsible for codification of business logic, database interaction, authentication and handling API requests
- Built using backend technologies
- Business logic
- Database interaction
- Authentication
- JWT (JSON Web Token)
- OAuth 2.0
- OpenID Connect
- SAML (Security Assertion Markup Language)
- Session-based authentication
- API handling
Database
- Stores the data required by the application
- Built using database technologies
- SQL (relational databases)
- NoSQL (document-based databases)
Overview
Full-stack architecture diagram.
+----------------------+ +---------------------+ +----------------------+
| | | | | |
| [Frontend] | -- API call --> | [Backend] | --- database query ---> | [Database] |
| | | | | |
| UI and UX | | Execute business | | Database CRUD |
| display | <-- response -- | logic | <--- database return --- | operations |
| | | | | |
+----------------------+ +---------------------+ +----------------------+
More on
- Full Stack Development Explained by MongoDB
- How to Learn Software Design and Architecture | The Full-stack Software Design & Architecture Map by khalilstemmler.com
- How to Architect a Full-Stack Application from Start to Finish by Lane Wagner
- Understanding Full Stack Development Architecture: A Comprehensive Guide by Petru Reaboi
- Caching
- Redis
- Memcached
- Varnish
- Queuing and Task Management
- Celery
- RabbitMQ
- Apache Kafka
- Sidekiq
- Error Handling and Logging
- Sentry
- Logstash
- Graylog
- Microservices
- Docker (containerization)
- Kubernetes (orchestration)I
- Istio (service mesh)
- DevOps (for Continuous Integration (CI) and Continuous Deployment (CD))
- Jenkins
- GitHub Actions
- GitLab CI
- CircleCI
- TravisCI
- Unit Testing
- PyTest
- Mocha
- Chai
- JUnit
- Load Testing
- JMeter
- Locust
- Cloud Providers (serverless architecture)
- AWS
- Google Cloud
- Azure
- Real-Time Communication
- WebSocket
- SSE (server-sent events)
- Data Security
- SSL/TLS
- Password Hashing
- Secure APIs
- State Management
- Redux
- MobX
- Context API