-
Overview of Full Stack Development
- Full Stack Developer: A programmer skilled in both front-end and back-end development, capable of building a complete web application.
- Front-End: The part of a web application that interacts directly with the user.
- Back-End: The server-side part of a web application, handling business logic, database interactions, and server configuration.
-
Front-End Development
- Languages:
- HTML: Structures web content.
- CSS: Styles the web content (layout, colors, fonts).
- JavaScript: Adds interactivity to web pages.
- Frameworks/Libraries:
- React.js: A JavaScript library for building user interfaces.
- Angular: A TypeScript-based framework by Google for building web applications.
- Vue.js: A progressive JavaScript framework for building UIs.
- Bootstrap: A CSS framework for responsive design.
- Tools:
- Webpack: Module bundler for JavaScript applications.
- Babel: JavaScript compiler that converts ES6+ code to a backwards-compatible version.
- Sass/Less: CSS preprocessors that add features like variables and nesting to CSS.
-
Back-End Development
- Languages:
- JavaScript (Node.js): Server-side JavaScript environment.
- Python (Django/Flask): High-level programming language; Django is a full-fledged framework, Flask is micro.
- Ruby (Rails): A web application framework written in Ruby.
- PHP: Server-side scripting language; commonly used with WordPress.
- Java (Spring): A robust framework for building enterprise-level applications.
- Databases:
- SQL Databases:
- MySQL: Popular open-source relational database.
- PostgreSQL: Advanced open-source relational database.
- SQLite: Lightweight, file-based database.
- NoSQL Databases:
- MongoDB: Document-oriented NoSQL database.
- Cassandra: Wide-column store NoSQL database for large-scale data.
- Redis: In-memory data structure store, used as a database, cache, and message broker.
- SQL Databases:
- APIs:
- REST (Representational State Transfer): Web service architecture style using HTTP requests.
- GraphQL: Query language for APIs that allows clients to request specific data.
- SOAP (Simple Object Access Protocol): Protocol for exchanging structured information in web services.
- Server Management:
- Express.js: Web application framework for Node.js.
- Nginx/Apache: Web servers that serve web content.
- Docker: Platform for developing, shipping, and running applications in containers.
- Kubernetes: Container orchestration platform for managing containerized applications.
-
Full Stack Frameworks
- MEAN Stack:
- MongoDB: Database.
- Express.js: Back-end framework.
- Angular: Front-end framework.
- Node.js: Runtime environment.
- MERN Stack:
- MongoDB: Database.
- Express.js: Back-end framework.
- React.js: Front-end library.
- Node.js: Runtime environment.
- LAMP Stack:
- Linux: Operating system.
- Apache: Web server.
- MySQL: Database.
- PHP/Python/Perl: Scripting language.
- Django Stack:
- Django: Back-end framework (Python).
- PostgreSQL: Database.
- React/Vue.js: Front-end library/framework.
-
Version Control
- Git: Distributed version control system for tracking changes in source code.
- GitHub/GitLab/Bitbucket: Platforms for hosting Git repositories and collaborating on code.
-
DevOps and CI/CD
- DevOps: Practices that combine software development (Dev) and IT operations (Ops).
- CI/CD (Continuous Integration/Continuous Deployment): Automates the process of software testing, building, and deployment.
- Jenkins: Automation server for CI/CD.
- Travis CI/CircleCI: Continuous integration services.
- Docker: For containerization in CI/CD pipelines.
- Kubernetes: Manages containerized applications in CI/CD environments.
-
Testing
- Unit Testing: Testing individual components of a software.
- Jest (JavaScript): Testing framework for JavaScript.
- JUnit (Java): Testing framework for Java applications.
- Integration Testing: Testing the integration of multiple components.
- End-to-End Testing: Testing the flow of an application from start to finish.
- Selenium: Tool for automating web browsers.
- Cypress: Front-end testing tool.
- TDD (Test-Driven Development): Software development process where tests are written before code.
-
Deployment
- Hosting Providers:
- AWS (Amazon Web Services): Cloud platform for deploying applications.
- Heroku: Platform-as-a-service (PaaS) for deploying applications.
- Netlify: Hosting for static websites and serverless functions.
- Vercel: Deployment platform for front-end frameworks and static sites.
- CI/CD Pipelines: Automate the deployment process.
- GitHub Actions: Automate tasks within your GitHub repositories.
- Travis CI: Integrates with GitHub for CI/CD.
-
Security
- OWASP Top 10: Standard awareness document for developers and web application security.
- SSL/TLS: Protocols for securing communication over a computer network.
- JWT (JSON Web Tokens): Compact, URL-safe means of representing claims to be transferred between two parties.
- OAuth: Open standard for access delegation, commonly used for token-based authentication.
-
Tools and IDEs
- VS Code: Popular code editor for multiple programming languages.
- WebStorm: Integrated development environment for JavaScript.
- PyCharm: IDE for Python development.
- Postman: Tool for testing APIs.
- Docker: Containerization platform.
- Webpack: Module bundler for JavaScript applications.
This notes provides a quick reference guide for full stack development, covering key concepts, technologies, tools, and best practices needed to build, deploy, and maintain web applications.
Download Elysium Spark Note