Giter Site home page Giter Site logo

greenpill-dev-guild / onboarding-app Goto Github PK

View Code? Open in Web Editor NEW
2.0 4.0 1.0 2.25 MB

Monorepo for GPN App | Making it easy to onboard people into the Web3 regen/public goods space.

Home Page: https://greenpill-app.vercel.app

Dockerfile 0.72% TypeScript 90.16% HTML 1.75% JavaScript 2.23% CSS 5.15%
dapp ethereum progressive-web-app public-goods react regen solidity

onboarding-app's Introduction

Overview

Greenpill Network App is focused on making it easy to onboard individuals and groups into the Web3 public goods ecosystem. This is done by making it simple for a user to create a wallet then sibsequently mint NFTs based on bulic good action such as food drives, cleanups, conoferences, etc.

Getting Started

The repo is based off the Web3 starter kit by Oba-One and is a monorepo using pnpm with all code held under packages directory. Packages consists of API, Clients, and Contracts and can be ran simultonolesouly E2E in a local environment.

In order to run this project you need these dependencies:

  • Node version 18+ for running scripts and PNPM.
  • PNPM version 6+ for package management.
  • Docker for database services Postgres and Redis.

Installation

Once you have the dependencies installed you can run the following commands to get the project up and running:

  • pnpm init - Initialize the project with PNPM. Installs packages, generate tls certs, and runs dev environment.
  • pnpm install - Install all dependencies for the project.
  • pnpm run dev - Run the project in development mode with hot reloading.

Environment Variables

The project uses environment variables for configuration. These variables are stored in a .env file in the root of all packages for the project. You can copy the .env.sample file in each pckage to get started.

Tests

Test can be ran at both the package level and root with pnpm run test.

Testing Structure:

  • Clients use vitest and testing library for writing and running tests
  • API uses Supertest in conjunction with Jest for writing and executing tests

Architecture

The repo is architected with packages holding different code for different aspect of an application from clients to API. API is a singletons while clients may hold multiple for different interfaces (web, mobile)

Languages used:

  • Typescript - Used for both client and API code with a types folder holding global type declerations and types created directly in routes, hooks, components, and views.
  • Solidity - Language for writing Ethereum based contracts, compiling, and deploying.

Core libraries:

  • React - Library for rendering UI and controlling basic state.
  • Vite - Build and development library for client UIs.
  • Express - Server based library handling server setup, routing, middleware.
  • Prisma - Database client and schema manager controlling SQL based DB.

Contributing

Project is open sourced and open for contributors who want to help with different aspects of the project. A roadmap for developers will be coming soon to have a clear view on work.

If you would like to contribute here are the following steps:

  • Fork the repo and get your local environment up and running, if any issues post in the greenpill network labs discussion tab.
  • Pick up an open task from the project board that's not assigned and fully defined, create a branch with the issue name.
  • Once done open a PR to merge into the development branch of the greenpill repo
  • Once approved make sure your branch is up to date with main and complete the merge.

onboarding-app's People

Contributors

derjogi avatar oba-one avatar tarun-k-gupta avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

tarun-k-gupta

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.