Skip to content

alicenet/ui

Repository files navigation

alice - ui

/ui is a collection of all alicenet user interfaces and is one of the primary repositories that will be worked on consistently

It is a fairly straight-forward monorepo, however additional details are noted below for ease of use and configuration.

Repository Layout 🧹

General Files

/package.json -- contains all shared dependencies
/<project>/package.json -- contains all unique dependencies (if applicable)
/netlify.toml -- contains all necessary CI/CD .env parameters*
/ui-boilerblate -- A UI boilerplate that should be used for all React/MUI web applications

* Additional notes on the netlify.toml configuration

Currenty we are using a single netlify.toml, which means given sitegroup [x,y,z] any .env parameter for site x, will be available for sites y and z.

In the current state this is not posing as an issue as most env keys are not uniquely needed they are currently: company specific/application ambiguous contract addresses and RPC endpoints, and staging vs production deploy state.

If this poses an issue in the future we should investigate breaking this up, but it may pose as a problem due to the base install directory, to unify dependencies, is the / directory, not the /ui/<project> directory, in the latter case sublevel configurations are available. See this conversation for more details

Tidiness Configuration (Primarily self-explanatory)

/.lintstagedrc.json -- Contains all pre-commit checks & configuration
/.commitlint.config.js -- Commit lint configuration
/.prettierrc -- Global project prettier config

Submitting Code 📨

The following segments contains guidelines and requirements for creating additional projects within this /ui monorepo as well as links to coding guidelines

General Coding Guidelines/Expectations ⚠️

Please follow the coding guidelines outlined here

Creating new applications 🆕

New applications should clone the existing /ui-boilerplate folder unless an application requires something particularly custom in nature, to which it should be discussed with the team prior to creation.

PRs 🔍

  • All PRs for should be first made against staging in lieu of ongoing fires 🔥

  • Only staging may merge to main

Standard review process 👀

After inittial repoitory function has been established it is assumed the following requirements should take place for all forthcoming code requests:

  • All PRs to staging must be reviewed by at least:
  • All PRs to main must be reviewed by at least:

Emergency PRs/Commits 🚒

Mistakes happen and will generally be handled in tandem by 1 or more @lead engineers and an accompanying @core engineer

CI / CD Pipeline 🔃

We utilize https://netlify.com for all continuous deployment as follows:

All commits to main are considered production ready and automatically deployed

All commits to staging are considered staging ready and automatically deployed

Current Application Endpoints 📜

TBD on Netlify migration to monorepop

Development Notes

Ethereum Methods not updating after transpile

This occurs due to stale code in the webpack bundle and can be resolved as follows to force a re-bundle:

Remove node_modules and wipe package-lock files and reinstall dependencies -- Next run should have updated methods. Alternatively you may need to clear npm cache's webpack/.cache files depending on your environment

About

A collection of user interfaces for AliceNet

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published