alicenet / ui

A collection of user interfaces for AliceNet

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

License:MIT License


Languages

Language:JavaScript 96.2%Language:HTML 2.6%Language:CSS 1.1%Language:Shell 0.1%