Various walking skeleton solution (e.g. PHP, Python, Golang).
This is the current progress list for this project and contribution is welcome!, please reference Contributing.
Language | Framework | Database | Completed | Contributor |
---|---|---|---|---|
Golang | Gin | MySQL | ✅ | Ping-yee |
PHP | Laravel | MySQL | 🚧 | Ping-yee |
Python | Flask | MySQL | 🚧 | Ping-yee |
Python | Django | MySQL | ❌ | ❌ |
A "walking skeleton" is an implementation of the thinnest possible slice of real functionality that we can automatically build, deploy, and test end-to-end.
A "Walking Skeleton" is the minimal implementation of a real feature that we can automatically build, deploy, and end-to-end test.
You should choose an actual product feature, and the smaller it is, the better – it should be simple but genuine. In the process of completing this feature, we need to:
- Establish a rough architecture and make the most basic technical decisions to create the walking skeleton.
- Write an end-to-end test to automate the testing of this feature.
- Set up an automatic CI/CD (Continuous Integration/Continuous Deployment) pipeline with the following stages:
- Build
- End-To-End Test
- Deploy
To free me from the busy manual tasks so that I can focus more on creating and exploring.
If automation isn't established on Day 1, creativity and discovery will be hindered by mundane chores.
- Instant Feedback
- Once the Walking Skeleton is established, every feature we develop can be quickly deployed through automation, allowing the team to receive feedback from users or stakeholders early in the development process.
- This helps in defining the system's basic requirements, features, and user experience and enables rapid adjustments and improvements.
- Architecture Validation
- The Walking Skeleton can help the team validate the overall system architecture.
- It provides an opportunity to test the stack and communication between different features and components to ensure their correct integration.
- Risk Mitigation
- It can be used to validate technology choices, test system reliability and performance, and proactively discover and address potential issues.
- Incremental Development
- The Walking Skeleton aligns with the principles of agile development, supporting incremental development.
- Teams can start with the Walking Skeleton and gradually expand and add new features, enabling rapid delivery and sustainable development.
- Promotion of Collaboration and Communication
- The Walking Skeleton provides a common foundation, fostering collaboration and communication within and outside the development team.
- By showcasing the core components and functionality of the system, team members can better understand the overall system structure and engage in discussions and decision-making based on this foundation.
We warmly welcome contributions in various programming languages and frameworks. This enables a wide range of developers to use our library for rapid project construction. 🚀
When you decide to contribute, please make sure your solution is following directory structure and includes the necessary components outlined below. 🗂️
For instance, if your solution targets backend development, it should be located within the Backend
directory. Inside the folder for your chosen programming language, create new subfolders with the names of the framework and the database you are using. 🛠️
Backend/
├── PHP/
│ └── Laravel+MySQL/
│ ├── Codeigniter4+MySQL
│ └── ...
├── Python/
│ └── flask+MySQL/
├── ...
└── ...
Your contribution should meet the following criteria:
- Implement minimal business logic.
- Include Unit Tests.
- Incorporate End-to-End Tests.
- Set up a Github Actions CI environment that successfully pass all the tests.
We extend our heartfelt thanks to all the people who have contributed to this project. Below is a list of contributors:
Made with contrib.rocks.