Thumbor-bootcamp - learning and contribution experience with ❤️ and 🤗 from the thumbor team

Overview

thumbor

learning and contribution experience with ❤️ and 🤗 from the thumbor team

GitHub contributors

thumbor bootcamp is a program to ease new contributors into thumbor's ecosystem, while learning more about open-source collaboration and technology. Apply now!

🕵️ Who's invited?

Anyone can collaborate with thumbor as a bootcamper.

  • If you are a software engineer you can fix bugs, write new tests, create new features.
  • If you are a product manager you can help us organize these tasks and create new ones to move thumbor forward.
  • If you are a designer you can help us improve thumbor's visual identity, website and our overall brand.
  • If you are a content strategist you can help us get better at documenting and onboarding new users.

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.

🎯 Features

  • 🧹 Find a groomed bootcamp task list up-to-date with thumbor's evolution
  • 📋 Tasks are labeled according to area of expertise and difficulty level
  • 📈 Level up your skills with open-source projects, web services, python and many other fun and interesting technologies
  • 🤗 Receive coaching all through this experience by thumbor's committers and contributors
  • ❤️ Give back to the community by moving thumbor forward and helping thousands around the world

📷 What is thumbor? Ecosystem?

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.

🤝 Commitment

What is expected of you?

  • 🤢 Do not bite more than you can chew! Pick up tasks you feel confident in completing. This helps the community as we keep moving forward as well as keeps you motivated!
  • 🤗 Be kind! Always assume good intention as we're all trying to create incredible technology and have fun at the same time!
  • 🧘 Be patient! In an open-source project people are donating their time to create good in the world. Thumbor is not different. Maintainers and contributors have families and jobs. We'll help as fast as we can.
  • 🦸‍♀️ Be a force for good! Whenever you can, try to help other bootcampers, create or groom tasks, improve documentation. Anything you feel is leaving a better world than what you started with.
  • ⚖️ Be respectful! We will not tolerate discrimination of any kind. We will not tolerate usage of words that enforce negative stereotypes. If this is not ok with you, this is not the project for you. For more details check our Code of Conduct.

🏃‍♀️ Getting started

Before you even apply to this bootcamp program you can familiarize yourself with thumbor reading its README as well as its documentation.

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:

Click the issues tab

Then click in new issue button:

Click the new issue button

Finally click the join bootcamp "Get started" button and fill your application:

Click the new issue button

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

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.

Areas of Expertise

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.

Task Levels

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.**
Level Effort Expected Duration Size Description
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.

💪 Getting your next task

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.

🧙‍♂️ Mentors

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!

  • @heynemann - Bernardo Heynemann - [email protected] - Thumbor co-creator and active committer for 12 years
  • @guilhermef - Guilherme Souza - [email protected] - Thumbor co-creator and active committer for 12 years

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!

👩‍💻 Bootcampers

Our current team of bootcampers include the awesome:


@nicolasgabrielt - Nicolas Taveira - He/Him/His
Joined in 30-Jan-2022

😡 Having Trouble?

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!

💻 Hacking thumbor-bootcamp?

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.

Owner
Thumbor (by @globocom)
Thumbor organization is meant to hold all projects related to thumbor maintained by globo.com.
Thumbor (by @globocom)
External Network Pentest Automation using Shodan API and other tools.

Chopin External Network Pentest Automation using Shodan API and other tools. Workflow Input a file containing CIDR ranges. Converts CIDR ranges to ind

Aditya Dixit 9 Aug 04, 2022
Ellipitical Curve Table Generator

Ellipitical-Curve-Table-Generator This script generates a table of elliptical po

Nishaant Goswamy 1 Jan 02, 2022
A Company Management System For Python

campany-management Getting started To make it easy for you to get started with GitLab, here's a list of recommended next steps. Already a pro? Just ed

hatice akpınar 3 Aug 29, 2022
tg-nearby Trilateration of nearby Telegram users as described in my corresponding article.

tg-nearby Trilateration of nearby Telegram users as described in my corresponding article. Setup If you want to toy with the code in this repository

Maximilian Jugl 75 Dec 26, 2022
A proof-of-concept package manager for Cairo contracts/libraries

glyph A proof-of-concept package manager for Cairo contracts/libraries. Distribution through pypi. Installation through existing package managers -- p

Sam Barnes 11 Jun 06, 2022
Inviare messaggi tramite app IO a partire da dati contenuti in file .csv

parlaConIO Inviare messaggi tramite app IO a partire da dati contenuti in file .csv -- Nessun obbligo, ma in caso di clonazione o uso del programma c

Francesco Del Castillo 6 Aug 22, 2022
This repository contains code for building education startup.

Learning Management System Overview It's the code for EssayBrain, a tool for teacher that automatically grades and validates essays. In order to valid

Shyam Das Shrestha 1 Nov 21, 2021
Allow you to create you own custom decentralize job management system.

ants Allow you to create you own custom decentralize job management system. Install $ git clone https://github.com/hvuhsg/ants.git Run monitor exampl

1 Feb 15, 2022
Online-update est un programme python permettant de mettre a jour des dossier et de fichier depuis une adresse web.

Démarrage rapide Online-update est un programme python permettant de mettre a jour des dossier et de fichier depuis une adresse web. Mode préconfiguré

pf4 2 Nov 26, 2021
Backup dc registry - A simple POC that abuses Backup Operator privileges to remote dump SAM, SYSTEM, and SECURITY

Backup Operator Registry Backup to Domain Compromise A simple POC that abuses Ba

Horizon 3 AI Inc 57 Dec 18, 2022
This repository contains a lot of short scripting programs implemented both in Python (Flask) and TypeScript (NodeJS).

fast-scripts This repository contains a lot of short scripting programs implemented both in Python (Flask) and TypeScript (NodeJS). In python These wi

Nahum Maurice 3 Dec 10, 2022
Iris-client - Python client for DFIR-IRIS

Python client dfir_iris_client offers a Python interface to communicate with IRI

DFIR-IRIS 11 Dec 22, 2022
A project for the Qvault Hackathon, 2022-01-17

musical-octo-engine Steps to run brew install python-tk brew install portaudio

Erik Kristofer Anderson 2 May 17, 2022
Pardus-flatpak-gui - A Flatpak GUI for Pardus

Pardus Flatpak GUI A GUI for Flatpak. You can run, install (from FlatHub and fro

Erdem Ersoy 2 Feb 17, 2022
NFT-Image-Generator - Utility to generate a large collection of unique images

NFT-Image-Generator Utility for creating a generative art collection from suppli

Sem Moolenschot 60 Dec 15, 2022
Additional useful operations for Python

Pyteal Extensions Additional useful operations for Python Available Operations MulDiv64: calculate m1*m2/d with no overflow on multiplication (TEAL 3+

Ulam Labs 11 Dec 14, 2022
Earth centric orbit propagation tool. Built from scratch in python.

Orbit-Propogator Earth centric orbit propagation tool. Built from scratch in python. Functionality includes: tracking sattelite location over time plo

Adam Klein 1 Mar 13, 2022
A Web app to Cross-Seed torrents in Deluge/qBittorrent/Transmission

SeedCross A Web app to Cross-Seed torrents in Deluge/qBittorrent/Transmission based on CrossSeedAutoDL Require Jackett Deluge/qBittorrent/Transmission

ccf2012 76 Dec 19, 2022
Script para generar automatización de registro de formularios IEEH

Formularios_IEEH Script para generar automatización de registro de formularios IEEH Corresponde a un conjunto de script en python que permiten la auto

vhevia11 1 Jan 06, 2022
tox-gh is a tox plugin which helps running tox on GitHub Actions with multiple different Python versions on multiple workers in parallel

tox-gh is a tox plugin which helps running tox on GitHub Actions with multiple different Python versions on multiple workers in parallel. This project is inspired by tox-travis.

tox development team 19 Dec 26, 2022