bboynam99 / exodia-frontend

Home Page:https://exodia-frontend-six.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This is the front-end repo for Exodia that allows users be part of the future of Greece.

_ Note We're currently in the process of switching to TypeScript. Please read this guide on how to use TypeScript for this repository. https://github.com/OlympusDAO/olympus-frontend/wiki/TypeScript-Refactor-General-Guidelines _

πŸ”§ Setting up Local Development

Required:

$ git clone --recurse-submodules https://github.com/ExodiaFinance/exodia-frontend
$ cd olympusdao

# set up your environment variables
# read the comments in the .env files for what is required/optional
$ cp .env.example .env

# fill in your own values in .env, then =>
$ yarn
$ yarn start

The site is now running at http://localhost:3000! Open the source code and start editing!

Testing

You can test the deployed version by doing docker-compose up --build

Faucets TODO

Architecture/Layout

The app is written in React using Redux as the state container.

The files/folder structure are a WIP and may contain some unused files. The project is rapidly evolving so please update this section if you see it is inaccurate!

./src/
β”œβ”€β”€ App.jsx       // Main app page
β”œβ”€β”€ abi/          // Contract ABIs from etherscan.io
β”œβ”€β”€ actions/      // Redux actions 
β”œβ”€β”€ assets/       // Static assets (SVGs)
β”œβ”€β”€ components/   // Reusable individual components
β”œβ”€β”€ constants.js/ // Mainnet Addresses & common ABI
β”œβ”€β”€ contracts/    // TODO: The contracts be here as submodules
β”œβ”€β”€ helpers/      // Helper methods to use in the app
β”œβ”€β”€ hooks/        // Shared reactHooks
β”œβ”€β”€ themes/       // Style sheets for dark vs light theme
└── views/        // Individual Views

Application translation

Olympus uses linguijs to manage translation.

The language files are located in a submodule deployed in src/locales/translations. This submodule points to the olympus translation repository

For the translations to run locally, you must pull the submodlue and compile the translations:

git submodule update --init --recursive
yarn lingui:extract
yarn lingui:compile

In order to mark text for translation you can use:

  • The component in jsx templates eg. <Trans>Translate me!</Trans>
  • The t function in javascript code and jsx templates. t`Translate me` You can also add comments for the translators. eg.
t({
	id: "do_bond",
	comment: "The action of bonding (verb)",
})

When new texts are created or existing texts are modified in the application please leave a message in the OlympusDao app-translation channel for the translators to translate them.

πŸ‘πŸ½ Contributing Guidelines

You can view a list of planned feature on our Kanban. Ask @HOVOH on Discord to give you an invite link if you want to get involved.

NOTE: For big changes associated with feature releases/milestones, they will be merged onto the develop branch for more thorough QA before a final merge to master

Defenders of the code:

Only the following people have merge access for the master branch.

πŸ—£ Community

About

https://exodia-frontend-six.vercel.app

License:MIT License


Languages

Language:JavaScript 52.9%Language:TypeScript 42.1%Language:SCSS 4.4%Language:Shell 0.3%Language:HTML 0.2%Language:Dockerfile 0.0%