📨
SlackClone
  • Introduction
  • Server
    • Server Introduction
    • Getting Started
      • Install .NET Core 3
      • Create a Project
      • Install Dependencies - Mongo
      • Install Dependencies - PostgreSQL
        • PostgreSQL Install - Windows
        • Connect to PostgreSQL DB - pgAdmin
    • API
      • Setup HotChocolate Server
      • Add Playground
      • Data Model - PostgreSQL
        • PostgreSQL Entities
        • Database Context
        • Queries
          • Filtering
          • Sorting
        • Mutations
        • Subscriptions
      • Data Model - Mongo
        • Mongo Entities
        • Queries
  • Authorization
  • Authentication
  • Error Handling
  • Testing
  • Backend Summary
  • Client
    • Client Introduction
    • Getting Started
      • Install Dependencies
      • Create Project
    • App
      • Routing
      • Queries
        • Pagination
        • Sorting
        • Filtering
      • Mutations
      • Subscriptions
      • Authentication
    • Frontend Summary
Powered by GitBook
On this page
  • Server Technologies
  • What to expect
  1. Server

Server Introduction

PreviousIntroductionNextGetting Started

Last updated 5 years ago

Server Technologies

  • - General purpose cross platform development platform maintained by Microsoft

  • - Framework for building modern, cloud-based, Internet-connected applications in .NET

  • - Open Source GraphQL Implementation for .NET

  • - Open-source NoSQL Database

    • - MongoDB Provider for .NET

    • - GUI and IDE for MongoDb

  • - Open-source SQL Database

    • - Open Source .NET Object-Relational Mapper (ORM)

    • - Open Source Admin interface for PostgreSQL

    • - PostgreSQL Provider for .NET

What to expect

The goal of this tutorial is to build an API for a simplified Slack clone. Here is a quick rundown of what to expect in this tutorial.

You’ll start by learning the basics of how a GraphQL server works, simply by defining a GraphQL schema for the server and writing corresponding resolver functions. In the beginning, these resolvers will only work with data that’s stored in-memory - so nothing will be persisted beyond the run-time of the server.

Because nobody wants a server that’s not able to store and persist data, you’re going to add a database layer to it.

Once you have the database connected, you are going to add more advanced features to the API.

You’ll start by implementing signup/login functionality that enables users to authenticate against the API. This will also allow you to check the permissions of your users for certain API operations.

The next part of the tutorial is about adding real-time functionality to your API using GraphQL subscriptions.

Lastly, you’ll allow the consumers of the API to constrain the list of items they retrieve from the API by adding filtering and pagination capabilities to it.

.NET Core 3
ASP.NET Core
HotChocolate
MongoDB
MongoDB .NET Driver
Studio 3T
PostgreSQL
Entity Framework Core
pgAdmin
Npgsql