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
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 Discord server 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.