Rails Pangu

screenshot of Rails Pangu

Rails Pangu

Rails starter kit that every startup needs

Overview:

Rails-pangu is a Rails 6 (API Only) boilerplate that incorporates cutting-edge solutions commonly used in the industry. It includes features such as Devise, JWT (JSON Web Tokens), Postgres, Redis, Docker, Rspec, RuboCop, and CircleCI. This starter kit aims to provide a solid and production-ready starting point for new backend projects.

Features:

  • Rails 6 (API only): The project is built on the latest version of Rails, which offers significant improvements over Rails 5.
  • Devise: Devise is a flexible and widely adopted authentication solution for Rails applications. It provides a complete MVC solution and supports multiple models signed in simultaneously.
  • JWT (JSON Web Tokens): JWT is an open standard for creating access tokens. It offers a distributed and efficient alternative to authentication through databases.
  • Devise-JWT: Rails-pangu implements a devise-jwt denylist policy using Redis for improved security.
  • Postgres: The project uses Postgres as the default database store, providing scalability and performance benefits over SQLite3.
  • Rspec: Rspec is a popular testing framework for Ruby that enables Behavior Driven Development (BDD) and makes Test Driven Development (TDD) more productive and enjoyable.
  • RuboCop: RuboCop is a Ruby static code analyzer and formatter, based on the community Ruby style guide. It helps ensure consistent code style and follows best practices.
  • CircleCI: CircleCI is a leading continuous integration and delivery platform. In Rails-pangu, it is used to test the codebase using Rspec and RuboCop.
  • Factory Bot: Factory Bot is a library for setting up Ruby objects as test data, helping streamline the testing process.
  • Docker: Rails-pangu includes a Dockerfile with customized features. It also provides a docker-compose.yml file with containers for web, Postgres, and Redis. Additionally, it showcases the usage of a gem mirror for faster bundling speed and as an example for developers in China.

Installation:

To install Rails-pangu, follow these steps:

  1. Clone the repository: git clone [repository URL]
  2. Change into the project directory: cd rails-pangu
  3. Install the project dependencies: bundle install
  4. Set up the database: rails db:setup
  5. Start the application: rails s

Summary:

Rails-pangu is a comprehensive Rails 6 (API Only) boilerplate that incorporates various industry-standard solutions for authentication, testing, code analysis, and more. It provides a solid starting point for backend projects, including features like Devise, JWT, Postgres, Docker, Rspec, RuboCop, and CircleCI. With detailed installation instructions and customizable Docker support, Rails-pangu aims to simplify the initial setup process and help developers quickly get started with their projects.