Emilio Schepis
Emilio Schepis's Blog

Emilio Schepis's Blog

Dispensa Ep. 0 - Project setup - Hasura Hackathon

Emilio Schepis's photo
Emilio Schepis
ยทMar 10, 2022ยท

2 min read

Dispensa Ep. 0 - Project setup - Hasura Hackathon
Play this article

Welcome ๐Ÿ‘‹

Hi and welcome! My name is Emilio and through this series I'll document the process of making my own entry for the Hasura x Hashnode Hackathon: Dispensa.

"Dispensa" is the Italian word for "Pantry" and my idea is to make an application to track what food is available in your home to make the experience of buying groceries a bit easier.

This project will involve the creation of a mobile application with Expo, authentication through Auth0 and, of course, the whole backend will be built on Hasura. I have built a few projects on top of Hasura already, and I really enjoy working with an optimized GraphQL layer on top of PostgreSQL.

Let's get started ๐Ÿ

First of all I started by creating the GitHub repository for Dispensa where I'll store all the code for the project.

I am a big fan of standardized and clean code, so my next step was to add a linter configuration.

{
  "root": true,
  "extends": ["universe/native", "universe/shared/typescript-analysis", "plugin:prettier/recommended"],
  "plugins": ["simple-import-sort"],
  "overrides": [
    {
      "files": ["*.ts", "*.tsx", "*.d.ts"],
      "parserOptions": {
        "project": "./tsconfig.json"
      }
    }
  ],
  "rules": {
    "no-console": "warn",
    "prettier/prettier": "error",
    "simple-import-sort/imports": "warn",
    "simple-import-sort/exports": "warn"
  }
}

If you haven't tried it yet, I suggest to install the eslint-plugin-simple-import-sort plugin to separate all of your imports automatically as part of your linting process.

Then I wanted to make sure that the code stays healthy throughout this whole Hackathon journey, so I setup a basic CI workflow with GitHub Actions that will run on every commit and verify both the build and the style.

First run of the CI workflow

Next steps โญ๏ธ

Now we can finally start working on the code itself. The first big task will be to integrate authentication using Auth0 and Expo's AuthSession.

Social

As always, you can find me on Twitter and GitHub. The code for this project can be found on its GitHub repository

ย 
Share this