BIGAPI is a design pattern that simplifies communication and documentation of software architectures. It is tailored for data-centric, cloud-native applications, aligning with best practices recommended by the W3C.
BIGAPI helps software development teams in two key areas:
- Initial Design: Providing a structured approach to describe software architecture during early development phases.
- Retrospective Documentation: Simplifying the process of documenting existing codebases.
The template enables teams to create "code maps" at varying levels of detail, catering to different perspectives and use cases. By streamlining documentation and leveraging established best practices, BIGAPI enhances collaboration and understanding across diverse technologies and development methodologies. It is an invaluable resource for teams building modern applications.
BIGAPI pragmatically addresses two essential questions while remaining adaptable to specific project needs:
- What aspects of your architecture should you document or communicate?
- How should you document or communicate them?
- Structured Documentation: Provides a comprehensive framework to construct, communicate, and document your software architecture, reducing complexity and effort.
- Proven Foundations: Inspired by industry-standard models and practices, including:
- W3C WEB Architecture
- ARC42 Architectural Template
- C4 Model
BIGAPI is built on practical experience from a wide range of systems and domains.
- Technology Agnostic: Designed to work seamlessly with any technology stack or tooling.
- Process Agnostic: Independent of specific methodologies, making it ideal for lean, agile, or hybrid development processes.
- Open Source: Freely available under an open-source license for non-commercial use. For more details, visit our license page.
The name BIGAPI is a scrambled acronym for "Perceive Its Beauty, Acknowledge Its Grace": Beauty, Its, Grace, Acknowledge, Perceive, Its.
The idea is to highlight how elegance and beauty can manifest in software architecture, much like patterns in nature. By creating systems with recognizable structures and balanced, lightweight components, aesthetic principles guide the design even before functional requirements. Graceful and well-proportioned architecture leads to software that is not only efficient but also intuitively understandable.
- Enhanced Communication: Provides a structured template for documenting and communicating software and system architectures, fostering better understanding and alignment among team members and stakeholders.
- Flexible Detailing: Enables the creation of architectural documentation at various levels of detail, tailored to different perspectives and project requirements.
The BIGAPI Template simplifies architectural documentation with a well-structured, comprehensive framework. It provides a detailed index to help you:
- Seamlessly document your architecture decisions, ensuring all critical aspects of your system design are captured.
- Transition from complex, overwhelming documentation tasks to a streamlined and effective process.
With BIGAPI, creating architectural documentation becomes a simple, painless experience, allowing you to focus on developing robust and innovative solutions instead of struggling with documentation complexities.
The architectural documentation template is be organized in 10 sections:
- Getting Started: What do you need to know about the project
- Conformance: Regulatory compliance and industry standards adopted by Argento.
- Glossary: The main terms used in the project jargon
- Architecture: The system big picture according different points of view
- Features: The feature sheets that catalogues all the features implemented by the system
- Components: The catalog of the technical components and configuration items that buildsup the project
- Stereotypes: The source of truth for shared pieces of component documentation.
- Skills: Competence required in roles
- Roles: Mission and skills required in the project operations
- Processes: The ways to make things done
BIGAPI is a continuosly ongoing research project by LinkedData.Center it is released open-source and can be used free of charge, for non-commercial and private situations. See our license page for details.
A great way to contribute to the site is to create an issue on GitHub when you encounter a problem or something. We always appreciate it. You can also edit the code by yourself and create a pull request.