Anyone can collaborate with thumbor as a bootcamper.
We could keep going, but the truth is there's room for colaboration on so many levels, that it's best if you just reach out and we can go from there.
thumbor is an extensible imaging HTTP server. It crops, resizes and transforms images on-demand and serves this images to users.
The extensible nature of thumbor means there are dozens of projects that extend it. Image loaders, storages and results storages, filters, detectors and much more.
Apart from these extensions there's all sort of programming language and web framework integrations.
This is what we call thumbor's ecosystem. All the cool projects that extend and improve thumbor's usage all over the world. You can learn more about it at awesome-thumbor.
These extensions allow thumbor to run in almost any architecture and cloud out there: AWS, GCP, Azure, DigitalOcean and even self-hosted. There are people using Redis, MongoDB, Postgres, Ceph, S3 and many others for storage of images, and the number of possibilities is endless.
You can explore that and more in thumbor's docs.
What is expected of you?
It is a good idea to have thumbor running with default settings in your environment just to get a hang of what it does. Play with it, crop some images, apply filters.
Once you are ready to get started, apply to the program by creating a new issue in this repository and filling a new Join Thumbor Bootcamp issue.
First click on the issues tab:
Then click in new issue button:
Finally click the join bootcamp "Get started" button and fill your application:
Your application will be reviewed as soon as possible (remember: Be patient!). After you are accepted in the program, you can pick one of the L1 tasks and hack away! These tasks are designed to help you move fast and start shipping!
Bootcamp tasks are how you interact with this learning experience. We believe in learning through action.
Thumbor will have bootcamp tasks divided by area of expertise and level.
These will be labels in tasks and help you pick something that interests you.
Some examples are user onboarding, documentation, website & branding, extensibility, imaging and image quality, performance and maintainability.
Disclaimer: These tasks consider an investment of 2h a day for the estimates. If you are investing less time, no worries, just adjust your expectations. This is by no means a deadline. **It's done when it's done.**
|L1||Low||~1d||Single file/module||This is the bread and butter for people joining thumbor-bootcamp. This is where you start.|
|L2||Medium||~3-4d||Single file/module||Requires some knowledge about how thumbor and its parts work.|
|L3||Medium||~2w||Multiple files/modules||This is a project level task. It involves discussing what you are doing, creating tests, updating docs. This is where you actually start learning about what it takes to keep a project the size of thumbor with momentum.|
|L4||Large||~1m||Multiple files/modules/projects||This is a transformative task that greatly benefits the ecosystem and the community. Once you complete a few of these, we expect to welcome you to the maintainers team, so you can also help onboard other bootcampers.|
To get your next task, just find a task of the appropriate level that picks your interest and assign to yourself.
You can check open tasks, in each level, using this filtered views:
If you can't work on the task anymore, just add to the task what progress you made, what you learned and unassign yourself from it.
If you have any issues do not hesitate to get in touch with one of these mentors. Their purpose in this program is to help you keep moving forward!
Being a mentor is a really rewarding experience. If you feel like you could be mentoring new people into open source, just ping one of the mentors above and we'll enlist your help!
Our current team of bootcampers include the awesome:
@nicolasgabrielt - Nicolas Taveira - He/Him/His
Joined in 30-Jan-2022
If you experience any trouble feel free to create an issue in this repository and tag @heynemann. We'll do our best to help you move forward and have fun!
If you need to run any of the scripts in this repository use Python 3.10.1 or greater and install the requirements with pip install -r requirements.txt.