gothinkster / elixir-phoenix-realworld-example-app

Exemplary real world application built with Elixir + Phoenix
https://realworld.io
MIT License
893 stars 140 forks source link
backend elixir elixir-apps elixir-examples elixir-lang elixir-phoenix phoenix-application phoenix-framework realworld

RealWorld Example App

Elixir (Phoenix) codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld spec and API.

CircleCI codecov

This codebase was created to demonstrate a fully fledged backend application built with Elixir and Phoenix including CRUD operations, authentication, routing, pagination, and more.

We've gone to great lengths to adhere to the credo community styleguides & best practices.

For more information on how to this works with other frontends/backends, head over to the RealWorld repo.

Installing / Getting started

To run this project, you will need to install the following dependencies on your system:

To get started, run the following commands in your project folder:

cp config/dev.exs.example config/dev.exs  # creates the project's configuration file
mix deps.get  # installs the dependencies
mix ecto.create  # creates the database.
mix ecto.migrate  # run the database migrations.
mix phx.server  # run the application.

This is a backend project, you won't be able to go to localhost:4000 and see an aplication.

In order to see the Conduit frontend you will need to download and setup one of the frontend projects and set it up to consume this apps api. Typically this can be done by finding the API_URL and setting it to localhost:4000.

Tests

To run the tests for this project, simply run in your terminal:

mix test

Documentation

To generate the documentation, your can run in your terminal:

mix docs

This will generate a doc/ directory with a documentation in HTML. To view the documentation, open the index.html file in the generated directory.

Style guide

This project uses mix format. You can find the configuration file for the formatter in the .formatter.exs file.

Licensing

MIT © Ezinwa Okpoechi