Skip to content

Instantly share code, notes, and snippets.

@ra-kesh
Last active December 12, 2022 08:02
Show Gist options
  • Save ra-kesh/b4df7acc9fd53175ad111cebd343a221 to your computer and use it in GitHub Desktop.
Save ra-kesh/b4df7acc9fd53175ad111cebd343a221 to your computer and use it in GitHub Desktop.
Backend Must To know things
  • Relational Databases
    • Creating, Altering, Dropping Tables
      • Primary and Secondary Keys
      • Adding Relationships Between Two Tables using Foreign Key
      • UNIQUE, DEFAULT, NOT NULL constraints
    • Inserting, Updating, Deleting Rows in a Table
    • Fetching data with SELECT queries
      • Filtering and Sorting
      • Aggregations
      • Optimizations using *
    • Combining Data from Two Different Tables using JOINs
    • Design a Database Schema for a Real-World Use-Case
      • Every small thing needs to be captured.
      • When to create a new column vs a new table?
      • Handling Scale using Indexes
  • Developing APIs + Writing Tests
    • CRUD operations on the database
      • Using ORMs like Sequelize for abstraction
      • Uploading Files
    • Handling errors
      • in input parameters
      • in processing data
    • Returning Status Codes
      • with error messages
    • API Naming Conventions
    • REST vs GraphQL APIs
    • Unit Testing
    • Integration Testing
    • e2e Testing
    • Refactor Ruthlessly towards Cleaner Code
  • Access Management
    • Basic HTTP Authentication
    • Authentication vs Authorization
    • OAuth 2.0
    • JSON Web Tokens
  • Deployment Pipeline
    • Setting up a project at professional level for a team
    • Continuous Integration
      • Pre Commit Hooks
        • Linting
        • commitlint
      • Post Commit Hooks
        • Testing
    • Continuous Delivery
      • Approval Workflows
        • Manual Approval
        • Rollback Option?
      • Continuous Deployment
    • Staging/QA Environments
  • Handling Scale
    • Logging
    • Calculating Storage Required for 1000s of requests
    • Caching
    • Code Maintainability
    • Automations in MySQL using Triggers
    • API Versioning
    • Visual Testing
    • Distributed Servers
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment