Piral

Framework for next generation web apps using micro frontends.

README

Piral Logo

Piral · GitHub License Lerna Build Status FOSSA Status GitHub Tag GitHub Issues Gitter Chat Feed Status CLA Assistant


Easily build a next generation web application using microfrontends. Piral enables you to create a modular frontend application that is extended at runtime with decoupled modules called pilets leveraging a microfrontend architecture.

A pilet can be developed independently and ships with the necessary code, as well as all other relevant assets. Pilets are as independent of the host application as you want them to be - making them transferrable between different applications.

This makes Piral an ideal foundation for a mid-sized to large-scale applications developed by distributed teams.

:zap: A pilet is capable of dynamically extending other pilets or using such extension slots itself.

:zap: A pilet can provide or use shared dependencies from other pilets.

:zap: A pilet is isolated (developed and handled) and will never destroy your application.

:zap: A pilet can be developed with any technology using a standard IDE.

:zap: A pilet can be updated and published within seconds.

:zap: A pilet can be rolled out or disabled dynamically to create self-forming applications.

:zap: A pilet can be debugged seamlessly just as if you write a monolith.

Important Links


📢 We are hiring! - work with us on Piral, its ecosystem and our users
🌍 Website - learn more about Piral
📖 Documentation - everything to get started and master micro frontends
🉐 Help translating Piral! - making PRs in the documentation branch
🐞 Issue Tracker - report bugs or suggest new features
🗨  Forums - use the community support on StackOverflow
👪 Community Chat - ask questions and provide answers in our Gitter room

Getting Started


Piral itself is developed as a monorepo. As such this repository may contain an overwhelming amount of information.

Our recommendation is to start at the documentation available at docs.piral.io. Working through the available tutorials will give you the necessary information in the best possible order.

Questions


While the GitHub issues may be used in case of questions, we would prefer general usage questions to be raised either in our Gitter chat or at StackOverflow.

Be sure to check our FAQ and the official tutorials upfront!

Contributing


The main purpose of this repository is to continue to evolve Piral and its core ecosystem, making it faster, more powerful, and easier to use. Development of Piral happens in the open on GitHub, and we are grateful to the community for contributing bugfixes, ideas, and improvements.

Read below to learn how you can take part in improving Piral.

Repository Structure


- docs contains the (user) documentation
- src has the sources for all the developed packages, samples, and pages
- test contains the test setup and (in the future) system tests
- tools has some of the internal tooling for building the different components

Each subdirectory contains another README.md with more information regarding the contents of the specific folder.


We adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.


Read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Piral.

Good First Issues


To help you get your feet wet and get you familiar with our contribution process, we have a list of good first issues that contain bugs which have a relatively limited scope. This is a great place to get started.

License


Piral is released using the MIT license. For more information see the license file.