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.
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