Programming language: Elixir
License: GNU Affero General Public License v3.0
Tags: Applications    
Latest version: v1.0.2

CaptainFact alternatives and similar packages

Based on the "Applications" category.
Alternatively, view CaptainFact alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of CaptainFact or a related project?

Add another 'Applications' Package



Install & Run


You need to install Elixir. We recommand using asdf-vm. Check their documentation on how to install it, then run asdf install from root captain-fact-api folder.

Start DB

Create / launch a PostgreSQL instance on your local machine. If you have Docker installed, you can use the pre-Seed PostgreSQL Docker image:

docker run -d --name cf_dev_db -p 5432:5432 captainfact/dev-db:latest

Start API

  • mix deps.get --> Get dependencies
  • mix ecto.migrate --> Migrate DB
  • iex -S mix --> Start project

Following services will be started:

You can also see all e-mail sent, by going to http://localhost:4000/_dev/mail

Other useful commands

  • mix test --> Run tests
  • mix test.watch --> Run test watcher
  • mix format --> Format code
  • mix ecto.gen.migration [migration_name] --> Generate migration

Project architecture

This application is organized as an umbrella project which allows us to divide CaptainFact API into small apps.

β”œβ”€β”€ apps
β”‚Β Β  β”œβ”€β”€ cf => Core functions as a library. **Not deployed**
β”‚Β Β  β”œβ”€β”€ cf_atom_feed => Atom feed.
β”‚Β Β  β”œβ”€β”€ cf_graphql => GraphQL API (public).
β”‚Β Β  β”œβ”€β”€ cf_jobs => Jobs.
β”‚Β Β  β”œβ”€β”€ cf_rest_api => REST/WS API (private).
β”‚Β Β  └── db => DB repository and schemas **Not deployed**
β”‚Β Β      β”œβ”€β”€ lib
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ db
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ db_schema => Contains all the schemas (Video, Speaker, Comment…etc)
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ db_type => Special types (SpeakerPicture…etc.)
β”‚Β Β      β”‚Β Β  └── db_utils => Some utility functions
β”‚Β Β      └── priv
β”‚Β Β       Β Β  └── repo/migrations => All DB migrations files
β”œβ”€β”€ README.md => You're reading it right now. Are you?
β”œβ”€β”€ rel => Release configs & tools
β”‚Β Β  β”œβ”€β”€ commands => Commands that will be available to run on the release (seed DB…etc.)
β”‚Β Β  β”œβ”€β”€ hooks => Some hooks for automatically run commands when release run.
β”‚Β Β  β”œβ”€β”€ runtime_config => Runtime configurations for all apps.
β”‚Β Β  └── config.exs => Release configuration.

Linked projects

*Note that all licence references and agreements mentioned in the CaptainFact README section above are relevant to that project's source code only.