For a full hands-on tour of Hasura, check out our `30-Minute Hasura Basics Course <https://hasura.io/learn/graphql/hasura/introduction/>`__.
Database operations
^^^^^^^^^^^^^^^^^^^
-:ref:`Database modelling <schema>`: Learn how to model your database schema, as well as how to extend it.
-:ref:`Querying data <queries>`: Use GraphQL queries to query data from your GraphQL API.
-:ref:`Inserting data <mutations>`: Use GraphQL mutations to insert data into your GraphQL API.
Business logic
^^^^^^^^^^^^^^
There are several options for the implementation of business logic, depending on your use case.
-:ref:`Actions <actions>`: Actions can be used if you'd like to extend your GraphQL schema by integrating with a REST endpoint.
-:ref:`Remote schemas <remote_schemas>`: If you have an existing GraphQL server or if you're comfortable with implementing one, you can use remote schemas.
-:ref:`Event triggers <event_triggers>`: To trigger a serverless function based on a database event, use event triggers.
-:ref:`Scheduled triggers <scheduled_triggers>`: Scheduled triggers are used to execute custom business logic at specific points in time.
Migrations
^^^^^^^^^^
Set up :ref:`Hasura migrations <migrations_setup>` to track your database alterations. This will make it easier to move to a different environment (e.g. staging or prod) later.
Secure your endpoint
^^^^^^^^^^^^^^^^^^^^
:ref:`Add an admin secret <secure_project>`
to make sure that your GraphQL endpoint and the Hasura console are not publicly accessible.