Awesome Open Source
Awesome Open Source

CaptainFact.io

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:

  • Install (if you don't have them):

    • Docker and docker-compose (to start the API easily)
    • NodeJS, ideally using asdf-vm with NODEJS_CHECK_SIGNATURES=no asdf install
    • App dependencies: npm install
  • Run:

    • docker-compose up - Start the API
    • npm start - Start the front-end
    • npm run test - Runs all unit tests

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

A default account should have been created for you with e-mail=[email protected] 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.


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
javascript (68,779)Ā 
react (5,308)Ā 
hacktoberfest (4,195)Ā 
frontend (501)Ā 
spa (186)Ā 
civic-tech (32)Ā 
collaborative (21)Ā 

Find Open Source By Browsing 7,000 Topics Across 59 Categories

Advertising šŸ“¦Ā 10
All Projects
Application Programming Interfaces šŸ“¦Ā 124
Applications šŸ“¦Ā 192
Artificial Intelligence šŸ“¦Ā 78
Blockchain šŸ“¦Ā 73
Build Tools šŸ“¦Ā 113
Cloud Computing šŸ“¦Ā 80
Code Quality šŸ“¦Ā 28
Collaboration šŸ“¦Ā 32
Command Line Interface šŸ“¦Ā 49
Community šŸ“¦Ā 83
Companies šŸ“¦Ā 60
Compilers šŸ“¦Ā 63
Computer Science šŸ“¦Ā 80
Configuration Management šŸ“¦Ā 42
Content Management šŸ“¦Ā 175
Control Flow šŸ“¦Ā 213
Data Formats šŸ“¦Ā 78
Data Processing šŸ“¦Ā 276
Data Storage šŸ“¦Ā 135
Economics šŸ“¦Ā 64
Frameworks šŸ“¦Ā 215
Games šŸ“¦Ā 129
Graphics šŸ“¦Ā 110
Hardware šŸ“¦Ā 152
Integrated Development Environments šŸ“¦Ā 49
Learning Resources šŸ“¦Ā 166
Legal šŸ“¦Ā 29
Libraries šŸ“¦Ā 129
Lists Of Projects šŸ“¦Ā 22
Machine Learning šŸ“¦Ā 347
Mapping šŸ“¦Ā 64
Marketing šŸ“¦Ā 15
Mathematics šŸ“¦Ā 55
Media šŸ“¦Ā 239
Messaging šŸ“¦Ā 98
Networking šŸ“¦Ā 315
Operating Systems šŸ“¦Ā 89
Operations šŸ“¦Ā 121
Package Managers šŸ“¦Ā 55
Programming Languages šŸ“¦Ā 245
Runtime Environments šŸ“¦Ā 100
Science šŸ“¦Ā 42
Security šŸ“¦Ā 396
Social Media šŸ“¦Ā 27
Software Architecture šŸ“¦Ā 72
Software Development šŸ“¦Ā 72
Software Performance šŸ“¦Ā 58
Software Quality šŸ“¦Ā 133
Text Editors šŸ“¦Ā 49
Text Processing šŸ“¦Ā 136
User Interface šŸ“¦Ā 330
User Interface Components šŸ“¦Ā 514
Version Control šŸ“¦Ā 30
Virtualization šŸ“¦Ā 71
Web Browsers šŸ“¦Ā 42
Web Servers šŸ“¦Ā 26
Web User Interface šŸ“¦Ā 210