Code Monkey home page Code Monkey logo

osmosis-frontend's Introduction

Osmosis Frontend ๐Ÿ‘ฉโ€๐Ÿ”ฌโš—๏ธ๐Ÿงช

osmosis-banner-1200w

Overview ๐Ÿ’ป

Our frontend is built with the following tools:

  • TypeScript: type checking
  • React: ui
  • Tailwind CSS: styling, theming
  • Next.js: scaffolding/SSR/CDN/SEO
  • Turbo Repo: mono repo management with package script execution, with heavy emphasis on build caching (including shared remote caching in Vercel)
  • Lerna: libs release

Deployment ๐Ÿš€

Install deps:

yarn

Start web server

yarn start

Contributing ๐Ÿ‘จโ€๐Ÿ’ป

We welcome and encourage contributions! We recommend looking for issues labeled with "good-first-issue".

Make sure node >= 16 and yarn is installed.

  1. Install deps
yarn

First time setup If you're on the Osmosis foundation team and have a Vercel account set up, optionally sign into turbo repo using your Vercel account, and link the repo. This could give you instant builds by sharing the remote cache on our Vercel project:

npx turbo login
...login via browser...
npx turbo link
...press y (yes) and choose "OsmoLabs" as the Vercel build scope...
  1. Run local server at localhost:3000
yarn dev

Frontier ๐Ÿค 

To reduce duplicated effort, master branch is used to deploy the frontier app as well. The frontier deployment has NEXT_PUBLIC_IS_FRONTIER env var set to true. If making updates to frontier, please target the master branch. Frontier assets are configured in packages/web/config/ibc-assets.ts.

Develop

To develop with frontier configuration, use:

yarn build:frontier && yarn dev:frontier

Deploy

To deploy frontier (the env var will be set for you):

yarn build:frontier && yarn start:frontier

Otherwise the non-frontier commands can be used with the env var set to true.

Testnet

Testnet version of the frontend uses NEXT_PUBLIC_IS_TESTNET=true. By default, it points to the canonical testnet, but packages/web/.env can be changed to point to localosmosis.

Dev:

yarn build:testnet && yarn dev:testnet

Deploy:

yarn build:testnet && yarn start:testnet

Note: our currency registrar checks IBC hashes to see if they can be found via the denom_trace query in the IBC module on chain. If it's not found, it won't add it to the chain's list of currencies. Make sure IBC assets on testnet can be found in the testnet's IBC module state for test IBC assets to be visible. Otherwise, test assets (i.e. made via tokenfactory) can be added as native assets to the Osmosis chain, simply by defining it's base denom in the Osmosis chain info for testnet.

Releases

Release tags are for the published npm packages, which are every package except for the web package. Updates to the app are released incrementally way via deployments from master branch.

To start the release process:

yarn build:libs && npx lerna publish

Translations ๐ŸŒŽ๐Ÿ—บ

translation badge

To add translations, you can manually edit the JSON translation files in packages/web/translations, use the inlang online editor, or run yarn machine-translate to add missing translations using AI from Inlang.

Asset Listings

Please see the asset listing requirements to display assets on Osmosis Zone web app.

osmosis-frontend's People

Contributors

jonator avatar jeremyparish69 avatar thunnini avatar joserfelix avatar sunnya97 avatar delivan avatar sehyunc avatar daniel-farina avatar sko-kr avatar loa212 avatar fl-y avatar johnnywyles avatar addysiz avatar assafmo avatar steveliupai avatar riley-stride avatar gophereth avatar dylanschultzie avatar gfant avatar ankurdotb avatar valardragon avatar puneet2019 avatar aliqasemzadeh avatar drpresident avatar dogemos avatar unitychaos avatar samuelstroschein avatar asalzmann avatar danielfarina avatar pikachuexe avatar

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.