✨ The app is live at: https://gororobas.com
This is a Typescript project built leveraging the following technologies:
- EdgeDB: database and authentication
- NextJS and React: frontend frameworks
- Vercel: deployment
- TailwindCSS, RadixUI and Shadcn/UI: styling and component primitives
- Effect: typescript tooling for more robust and type-safe code
- OpenTelemetry and Honeycomb: observability
- Sanity.io: image storage and CDN
- Mailpit: email server for local development
- Tiptap: rich text editor
- react-hook-form: form state management
- dnd-kit: drag and drop for lists in form
- pnpm: package manager
- Biome: linter and prettifier
- lint-staged and husky: pre-commit hooks to ensure everything is OK
- Bun: Javascript runtime for faster local development
You can learn about the project's motivation, tech stack, approach and learnings here: https://hdoro.mmm.page/edgedb-hackathon
- Start by populating the
.env.example
file with the necessary environment variables. You can copy it to.env.local
and fill in the values.- If you're connected to the Vercel project, you can use
vercel env pull
to build the production.env
file.
- If you're connected to the Vercel project, you can use
- In order to authenticate with emails locally, you need to install and run Mailpit. This will allow the EdgeDB server to send emails via your local Mailpit server.
- 💡 You can still authenticate with Google oAuth without it
- To connect to a local database, install EdgeDB to your machine
- Run
pnpm install
to install the dependencies - In a separate terminal, run
edgedb project init
to start an EdgeDB instance for the current config - Run
edgedb ui
to open the EdgeDB Studio - Then, in the same EdgeDB terminal, run
edgedb watch
to have it watch changes to your schema - After EdgeDB has applied the necessary migrations, run
bun run generate:all
to have the types and our custom EdgeQL SDK generated. This is necessary to interact with the database and the project won't run without it. - After generating types, run
bun run auth:setup
to configure EdgeDB with the proper authentication settings - Finally, run
bun run dev
to start the development server and access the app athttp://localhost:3000
- Log into EdgeDB Cloud in your terminal with
edgedb cloud login
- Migrate the current database schema to the cloud with
edgedb migrate -I ORG/INSTANCE_NAME
- If you're starting a new cloud instance, you can seed it with a local dump of data with:
edgedb dump <your-dump.dump> edgedb restore -I <org>/<instance-name> <your-dump.dump>
- If you're setting up a Vercel project for it the first time, refer to the official guide on deploying to Vercel
- When you push a commit to main, Vercel will automatically build and deploy it to
gororobas.com
or whatever the domain for the new project you've set up
People involved in this creation:
- henrique doro - design and development
- angie cepeda - content and photography
- Daniel Mundim Porto Pena - for his work on Sistematização e planejamento de sistemas agroflorestais no bioma Cerrado, which we used to populate a subset of the database
If you'd like to contribute to the project, please open an issue or a pull request. We're open to suggestions and improvements but aren't sure how they'll pan out yet 🙂
This project is licensed under the Apache 2.0 License. You can read more about it in the LICENSE file.