Skip to content

Instantly share code, notes, and snippets.

@suhailroushan13
Last active May 20, 2024 19:24
Show Gist options
  • Save suhailroushan13/0079657dd22832153ef2bf81a4fad345 to your computer and use it in GitHub Desktop.
Save suhailroushan13/0079657dd22832153ef2bf81a4fad345 to your computer and use it in GitHub Desktop.
Dev Thing's

Programming Languages:

  • JavaScript
  • Python
  • Rust
  • Ruby
  • Go
  • TypeScript
  • Swift

Backend Frameworks:

  • React
  • Express
  • Ruby On Rails
  • Flask / Django
  • Next.js (for server-rendered React applications)

Authentication and Authorization:

Stack:

  • Authentication: JSON Web Tokens (JWT), OAuth
  • Authorization: Role-based access control (RBAC), Access Control Lists (ACL)
  • PassportJS
  • Cookies, Session, Local Storage

Data Encryption:

Stack:

  • Encryption Algorithms: AES (Advanced Encryption Standard), RSA (Rivest-Shamir-Adleman)
  • Libraries: OpenSSL, CryptoJS

Input Validation and Sanitization:

Stack:

  • Libraries/Frameworks: Express Validator (for Node.js), Django Validators (for Python/Django), SecureFilter (for Ruby on Rails)
  • Validation Libraries: Joi (for Node.js), Django Forms (for Python/Django), ActiveModel Validations (for Ruby on Rails)

Security Headers:

Stack:

  • Middleware/Framework Support: Helmet.js (for Node.js), Django Security Middleware (for Python/Django), SecureHeaders gem (for Ruby on Rails)
  • Configuration: Proper HTTP headers in server configuration files (e.g., Apache, Nginx)

Cross-Site Request Forgery (CSRF) Protection:

Stack:

  • Middleware/Framework Support: csurf (for Node.js/Express), Django CSRF Middleware (for Python/Django), protect_from_forgery (for Ruby on Rails)

Cross-Origin Resource Sharing (CORS) Policy:

Stack:

  • Middleware/Framework Support: cors (for Node.js/Express), Django CORS Headers (for Python/Django), rack-cors (for Ruby on Rails)

Rate Limiting and Throttling:

Stack:

  • Libraries/Middleware: express-rate-limit (for Node.js/Express), Django Ratelimit (for Python/Django), Rack::Attack (for Ruby on Rails)

WebSockets:

  • Socket.IO
  • WebSocket API

Caching (Redis):

  • Redis

Mobile Development Frameworks:

  • React Native
  • Flutter
  • Native Script

Development Stacks:

  • MERN Stack:
    • MongoDB
    • Express.js
    • React
    • Node.js
  • Django Stack:
    • Django
    • Python
    • Django REST Framework
    • PostgreSQL
  • Ruby on Rails Stack:
    • Ruby on Rails
    • Ruby
    • SQLite or PostgreSQL
    • JavaScript with jQuery or Vue.js

Operating System:

  • Linux distributions (e.g., Ubuntu, CentOS, Red Hat)

Web Server:

  • Apache HTTP Server
  • Nginx

Application Server:

  • Tomcat
  • WildFly
  • Microsoft IIS

Database Server:

  • MySQL
  • PostgreSQL
  • Mongo DB

Version Control:

  • Git

Continuous Integration/Continuous Deployment (CI/CD):

  • Jenkins
  • GitLab CI/CD
  • CircleCI

Containerization:

  • Docker

Orchestration:

  • Kubernetes

Logging and Monitoring:

Stack:

  • Logging Libraries/Frameworks: Winston (for Node.js), Python Logging Module (for Python/Django), Lograge (for Ruby on Rails)
  • Monitoring Tools: Prometheus, Grafana, ELK Stack (Elasticsearch, Logstash, Kibana)

Testing Frameworks (Node.js):

  • Jest
  • Mocha
  • Jasmine

API Documentation:

  • Swagger (OpenAPI Specification)
  • Postman

Frontend Technologies:

  • HTML
  • CSS
  • JavaScript
  • Three.js

Frontend Frameworks:

  • React.js
  • Vue.js
  • Svelte

CSS Frameworks:

  • Bootstrap
  • Tailwind CSS

JavaScript Libraries and Plugins:

  • jQuery
  • Chart.js
  • Axios
  • lodash

State Management:

  • Redux (for React.js)

Frontend Build Tools:

  • Webpack
  • Parcel
  • Rollup.js

Responsive Design:

  • Media queries
  • Flexbox
  • CSS Grid
  • Bootstrap

Progressive Web Apps (PWAs):

  • Service Workers
  • Web App Manifest
  • IndexedDB

Testing and Debugging Tools:

  • Jest, React Testing Library
  • Jasmine, Karma
  • Mocha, Chai
  • Chrome DevTools
  • ESLint, Prettier

Version Control Platforms:

  • Git
  • GitHub
  • GitLab
  • Bitbucket

Deployment Platforms:

  • Cloud Platforms: AWS, Azure, Google Cloud Platform (GCP)
  • Container Orchestration: Docker, Kubernetes
  • PaaS Providers: Heroku, DigitalOcean, Netlify (for serverless functions)
  • On-Premises Servers: Virtual machines, dedicated server

System Designs

  1. Scalable Web Applications:

    • E-commerce Platforms: Handling large catalogs, user sessions, payment processing.
    • Social Media Platforms: Managing user-generated content, real-time notifications, scalability.
    • Content Management Systems (CMS): Flexible content creation, management, and delivery.
  2. Real-Time Systems:

    • Chat Applications: Real-time messaging, presence detection, message history.
    • Online Gaming Platforms: Real-time interactions, low-latency networking, synchronization.
    • Stock Trading Systems: Real-time market data, order execution, transaction processing.
  3. Microservices Architectures:

    • Distributed Systems: Service discovery, inter-service communication, fault tolerance.
    • API Gateways: Aggregating microservices, request routing, load balancing.
    • Service Meshes: Observability, security, and traffic management within microservices.
  4. Data-Intensive Applications:

    • Big Data Processing: Data ingestion, storage, processing pipelines (e.g., Hadoop, Spark).
    • Data Warehouses: ETL processes, data aggregation, analytics (e.g., Redshift, BigQuery).
    • Real-Time Analytics: Stream processing, event-driven architectures (e.g., Kafka, Flink).
  5. Highly Available and Fault-Tolerant Systems:

    • Distributed Databases: Replication, partitioning, consistency models (e.g., Cassandra, MongoDB).
    • Load Balancing Systems: Traffic distribution, failover mechanisms (e.g., HAProxy, Nginx).
    • Disaster Recovery Systems: Backup strategies, data redundancy, failover planning.
  6. Authentication and Authorization Systems:

    • User Authentication: OAuth, OpenID Connect, multi-factor authentication.
    • Access Control: Role-Based Access Control (RBAC), Attribute-Based Access Control (ABAC).
    • Single Sign-On (SSO): Federated identity management, session management.
  7. Secure Systems:

    • Encryption Systems: Data encryption at rest and in transit, key management.
    • Security Monitoring: Intrusion detection systems, anomaly detection.
    • Compliance Systems: Ensuring adherence to standards (e.g., GDPR, HIPAA).
  8. DevOps and Continuous Delivery:

    • CI/CD Pipelines: Automated testing, deployment workflows (e.g., Jenkins, GitLab CI/CD).
    • Infrastructure as Code: Managing infrastructure through code (e.g., Terraform, Ansible).
    • Container Orchestration: Managing containerized applications (e.g., Docker, Kubernetes).
  9. Mobile and IoT Systems:

    • Mobile Backend as a Service (MBaaS): Push notifications, user data sync (e.g., Firebase).
    • IoT Platforms: Device management, data aggregation, real-time analytics (e.g., AWS IoT).
  10. Serverless Architectures:

    • Function as a Service (FaaS): Event-driven functions (e.g., AWS Lambda, Google Cloud Functions).
    • Backend as a Service (BaaS): Managed backend services (e.g., Firebase, Parse).
  11. Blockchain and Distributed Ledger Systems:

    • Cryptocurrency Systems: Secure, decentralized transaction processing (e.g., Bitcoin, Ethereum).
    • Smart Contracts: Programmable contracts on the blockchain (e.g., Ethereum, Hyperledger).
  12. Edge Computing Systems:

    • Distributed Computing: Processing data closer to the data source to reduce latency.
    • Content Delivery Networks (CDNs): Distributing content geographically for faster access.
  13. Multimedia Systems:

    • Streaming Services: Video/audio streaming, content delivery optimization (e.g., Netflix, Spotify).
    • Real-Time Communication: Video conferencing, VoIP systems (e.g., Zoom, WebRTC).

By understanding these various types of system designs, you'll be well-equipped to architect robust, scalable, and efficient systems for a wide range of applications.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment