GithubHelp home page GithubHelp logo

alex-min / ex_platform Goto Github PK

View Code? Open in Web Editor NEW
147.0 3.0 18.0 4.3 MB

A battery-included ๐Ÿ”‹ Phoenix boilerplate

License: MIT License

Elixir 74.80% SCSS 1.03% JavaScript 3.02% HTML 20.23% Shell 0.02% Dockerfile 0.90%

ex_platform's Introduction

ExPlatform, a battery-included battery Phoenix boilerplate!

https://alex-min.fr/open-sourcing-my-phoenix-boilerplate/

What's included out of the box:

  • TailwindCSS with Tailwind jit
  • Esbuild & Postcss, no webpack
  • Phoenix auth integrated with nice Tailwind pages and transformed to support i18n
  • i18n everywhere (PRs are welcomed to add more languages)
  • Notifications with a nice animation and auto-clear
  • Auth emails are using Bamboo and proper HTML template
  • Javascripts tests with Jest (and I've included some built-in tests)
  • Pre-commit checks for styling & dialyzer (this boilerplate is ready for team work)
  • Github actions checking the pre-commits and the tests for each commit
  • Dependabot
  • Asdf integration, just use the .tools-versions for all your versions! It's also what's used in the Github actions.
  • Eslint
  • Kaffy admin (on /admin)
  • Sentry
  • Deployment with Docker

Future integrations:

  • A pricing page connected to Stripe
  • A landing page
  • Mobile view
  • ...

Please send a PR if you have some good features you would like to integrate to ExPlatform.

Setting up the boilerplate

Install asdf

Please install asdf which can install all the tooling required.

git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.8.0
echo '. $HOME/.asdf/asdf.sh' >> ~/.bashrc

then restart bash and install all the plugins:

asdf plugin-add python
asdf plugin-add erlang
asdf plugin-add elixir
asdf plugin-add nodejs

Install all the tools:

asdf install

Install pre-commit

https://pre-commit.com/

Pre-commit checks your changes every time you do a commit.

pip install pre-commit
pre-commit install

Launching the server

mix deps.get
mix ecto.setup
mix phx.server

Tests

mix test   # Elixir tests
mix testjs # Javascript tests

updating locales

mix gettext.extract
mix gettext.merge priv/gettext/ --locale en
mix gettext.merge priv/gettext/ --locale fr
# ... other locales

ex_platform's People

Contributors

alex-min avatar dependabot[bot] avatar joseph-lozano avatar kodiakhq[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ex_platform's Issues

Thoughts on pre-commit via asdf plug-in?

My mac (macOS 11.2.3) gave me a bit of trouble with pre-commit. Pip said it installed it, but it failed to add it to my path. I ended up using the pre-commit asdf plugin to work around the problem.

Since you are using asdf for everything else, what do you think about adding pre-commit to .tool-versions and letting the 'asdf install' step handle it?

Is asdf required?

Looks like you have done some nice work here. Is asdf required to use if I already have elixir/phoenix/node running in containers?

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.