Coder Social home page Coder Social logo

exodia-frontend's Introduction

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

exodia-frontend's People

Contributors

unbanksy avatar dwjanus avatar ohmygirth avatar appleseed-iii avatar melondrone avatar hovoh avatar zayen-x avatar dependabot[bot] avatar ohmie33 avatar drondin avatar casuwu avatar siferbel avatar hazelnutcloud avatar 0xdavinchee avatar wkich avatar olyzeus avatar goatsondrugs avatar xh3b4sd avatar ffmcgee725 avatar spaceturtleship avatar borbesaur avatar 0xlienid avatar wenfix avatar fishwishes avatar acidpunk0x avatar cw2908 avatar nabioz avatar 0xmakka avatar georgeroman avatar 0xjem 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.