Skip to content

CaptainFact/captain-fact-frontend

Repository files navigation

Discord

AGPL3 GitHub release Release Status Coverage Status Translation status



Getting started

If you're already have the API running locally, a simple npm install && npm start should be enough. Otherwise follow the procedure below:

Front-end is started on http://localhost:3333

A default account should have been created for you with e-mail=admin@captainfact.io and password=password.

Conventions

File structure

app
β”œβ”€β”€ API => API libraries for both REST API and websockets
β”œβ”€β”€ assets => Assets imported from JS
β”œβ”€β”€ components => All react components
β”œβ”€β”€ i18n => Translations
β”œβ”€β”€ lib => Misc utilities
β”œβ”€β”€ state => All redux related
β”‚Β Β  β”œβ”€β”€ comments
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ effects.js => Async actions creators, always return a promise
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ record.js => The object representing a single comment
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ reducer.js => Reducer + actions creators, always return an action object
β”‚Β Β  β”‚Β Β  └── selectors.js => Re-select selectors to select data in state
β”‚Β Β  └── ...
β”œβ”€β”€ static => Static assets, directly copied to the public directory
β”œβ”€β”€ styles => Stylesheets in .sass format, all included from application.sass
└── router.jsx => Application router and main entry point

Styling

Styling is based on Bulma and was initially customized with SASS. However we now include styled-components, styled-system and @rebass/grid. This has become the prefered way to build new components.

Icons

We bundle a custom font icon built with IcoMoon. You can find scripts and config for this in dev/ but the preferred (and easiest) way to add new icons today is to use https://styled-icons.js.org/.

Main Libraries / Frameworks

Linked projects

License

GNU AFFERO GENERAL PUBLIC LICENSE Version 3

Permissions of this strongest copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights. When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available.

See LICENSE for more info.