Ex_platform

screenshot of Ex_platform
scss
tailwind

Ex_platform

A battery-included 🔋 Phoenix boilerplate

Overview

ExPlatform is a battery-included Phoenix boilerplate that offers a comprehensive set of features out of the box. This boilerplate comes with integrated Phoenix auth, TailwindCSS, i18n support, pre-commit checks, and more. It aims to provide a solid foundation for building Phoenix applications with efficiency and convenience in mind.

Features

  • TailwindCSS with Tailwind JIT: ExPlatform comes pre-configured with TailwindCSS and the latest Tailwind JIT compiler, allowing for easy and efficient styling of your Phoenix application.
  • Esbuild & Postcss: Instead of using webpack, ExPlatform utilizes Esbuild and Postcss for JavaScript and CSS asset compilation, providing faster build times.
  • Integrated Phoenix Auth with Tailwind Pages: ExPlatform includes integrated Phoenix auth functionality with beautifully designed Tailwind pages for a seamless authentication experience.
  • i18n Support: ExPlatform supports internationalization (i18n) and encourages contributions to add support for additional languages.
  • Animated Notifications: Notifications in ExPlatform come with a pleasing animation and auto-clear functionality, enhancing the user experience.
  • Bamboo for Auth Emails: ExPlatform utilizes Bamboo for sending authentication emails, ensuring proper delivery and using HTML templates for professional email appearance.
  • JavaScript Testing with Jest: ExPlatform includes built-in JavaScript tests using Jest, providing a solid starting point for writing effective tests for your Phoenix application.
  • Pre-commit Checks: This boilerplate is ready for team work as it includes pre-commit checks for styling and Dialyzer, ensuring that code quality standards are met before committing changes.
  • Github Actions Integration: ExPlatform integrates with Github Actions to automatically check pre-commits and run tests for each commit, ensuring the quality of the codebase.
  • Dependabot: ExPlatform leverages Dependabot to keep dependencies up-to-date, ensuring that your Phoenix application remains secure and benefits from the latest updates.
  • Asdf Integration: ExPlatform includes Asdf integration, providing a .tool-versions file that specifies the required versions of all tools used. This simplifies version management and ensures consistency across development and deployment environments.
  • Eslint: ExPlatform includes Eslint for enforcing JavaScript code quality, helping to identify and fix common mistakes and maintain consistent coding standards.
  • Kaffy Admin: ExPlatform has an integrated Kaffy admin panel for easy management of administrative tasks, accessible via the /admin route.
  • Sentry Integration: ExPlatform offers integration with Sentry for error tracking and monitoring, ensuring that any issues in your Phoenix application can be quickly identified and resolved.
  • Docker Deployment: ExPlatform provides Docker deployment options, making it easy to package and deploy your Phoenix application in a containerized environment.

Installation

To set up ExPlatform, follow these steps:

  1. Install asdf by following the installation instructions for your operating system. asdf is a version manager that will handle the installation of all the required tooling.
  2. Restart your terminal or shell to ensure that the asdf command is available.
  3. Install all the required plugins for asdf by running the following command:
    asdf plugin add elixir && asdf plugin add erlang && asdf plugin add nodejs && asdf plugin add postgres
    
  4. Install the necessary tools by running the following command:
    asdf install
    
    This will read the .tool-versions file in the project and install the specified versions of Elixir, Erlang, Node.js, and PostgreSQL.
  5. Install pre-commit by following the installation instructions available at https://pre-commit.com/.
  6. Launch the server by running the following command:
    mix phx.server
    
    This will start the Phoenix server, allowing you to test and explore the ExPlatform boilerplate.
  7. (Optional) Update the locales to fit your desired language settings.

Summary

ExPlatform is a comprehensive Phoenix boilerplate that provides a robust foundation for building Phoenix applications. With features such as integrated Phoenix auth, TailwindCSS with JIT, i18n support, and pre-commit checks, ExPlatform offers convenience and efficiency to developers. The inclusion of tools like Jest for JavaScript testing, Eslint for code quality, and Kaffy admin for easy administrative tasks makes ExPlatform a versatile and practical choice for developing Phoenix applications. The Docker deployment options and Sentry integration further enhance the development and operational experience. By following the installation guide provided, developers can quickly set up ExPlatform and start building their Phoenix application with confidence.

scss
SCSS

SCSS is a preprocessor scripting language that extends the capabilities of CSS by adding features such as variables, nesting, and mixins. It allows developers to write more efficient and maintainable CSS code, and helps to streamline the development process by reducing repetition and increasing reusability.

tailwind
Tailwind

Tailwind CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

postcss
Postcss

PostCSS is a popular open-source tool that enables web developers to transform CSS styles with JavaScript plugins. It allows for efficient processing of CSS styles, from applying vendor prefixes to improving browser compatibility, ultimately resulting in cleaner, faster, and more maintainable code.