Welcome to the home of Pionians.
Pionia is a REST-ful framework that gives API development a rather new and simpler approach. It is based on the Moonlight Architecture(formaerly in-house).
Pionia believes developers should spend more time focusing on the business logic not framework logic. Traditional concepts like routes, controllers, models and more are handled a little-bit differently or even trimmed off.
In Pionia you will find the following unique features:-
- Single API endpoint per API-version.
- Simpler and rather different way to version APIs.
- No models, but an intuitive and pragmatic query builder - Piql(formerly Porm).
- Switches for mapping incoming traffic to the right service(You may need only one!).
- Services. Unlike services in the traditional, this is where you will spend most if not all of your time like
AuthService
. - Actions. The lowest unit of your business logic like
loginAction
inAuthService
- Only POST HTTP verb for every request. Don't worry about caching, we handle that too!
Pionia is built on battle-tested Symfony, Nette, Moonlog components and many more ensuring its quick stability.
Pionia comes with a wide-range of inbuilt features and also gives you the ability to use any open-source packages or add your own. The following are already available.
- Container
- Pionia CLI and Commands
- Pragmatic and fully extensible Authentication
- Routing
- API vesioning
- Testing
- Caching
- Data validation
- Query Bulder
- Support for more than 5 relational databases.
- Powerful and straight-forward dependency indejection
- Enhanced middleware chain
- Low codebase using our generics
All these and more are in the pipeline 🎉🎉🎉.
You can get started with our documentation, especially bg going through the tutorial section of the same.
If you meet any issues, please feel free to open an issue here on the related repository.
You can also visit our Code of Conduct guide to understand how we maintain transparency across our community members.
You can contribute to any of our repositories in this organisation. Contribution can be one of the following ways.
- Ideation, making the framework better by contributing better ideas or ways.
- Writing code. This can be towards our docs, framework and application repositories.
- Trying the framework in your next project and see how it accelerates your performance.
- Blogging about the framework.
- Creating packages targeting this framework.
- Sponsoring the team of dedicated contributors
And many more ways. So, what are you waiting for? You can get started by reading through our CONTRIBUTING GUIDELINES. This guidelines will guide you through contributing to all our repositories