#74 Fedora Badges Back-end Engineering
Closed 3 years ago by riecatnor. Opened 4 years ago by riecatnor.

Official project proposal template
This is a proposed project for Outreachy. Note that once this ticket is approved you will have to register as a mentor on the Outreachy page and enter this information again. Many of these questions are based on the application on the Outreachy website.

Opening this ticket as part of a group effort to get this internship off the ground. Mentors will be @misc and @sayanchowdhury

One-line name:
Fedora Badges - Back-end Engineering
Longer description of project:
Fedora Badges is a fun website built to recognize contributors to Fedora, help new and existing Fedora contributors find different ways to get involved, and encourage the improvement of Fedora's infrastructure.
Project licenses:
Fedora Badges/Tahrir: GNU Affero General Public License v3.0
Badges designs: CC Attribution-ShareAlike 3.0 Unported
Longevity (How long has the team accepted contributions):
Established 2013
Community size:
3-5 developers, 2-5 designers, 5-6 sysadmins, Fedora community as users
How this project benefits Fedora:
Migrates existing Pyramid/Open Badges framework to Badgr as a service, also based off of Open Badges. This improves the long-term sustainability of Fedora Badges, reduces the amount of infrastructure work required to run Badges, and enables us to migrate existing data in a GDPR-conscious way.
Sample plan of work for the 12 week internship. What are milestones the intern should be hitting?
1st quarter:
Research badgr-server / create development environment
Add a test badge
FAS integration (see Sign-In Configuration)
Locally in dev environment
https://iddev.fedorainfracloud.org
2nd quarter:
Containerizing badgr-server for Communishift (see PR #110, PR #212)
python/django
mysql
memcached
amqp broker (e.g. RabbitMQ)
[research] Figuring out the best way to align local development practices with production deployment (docker-compose? minishift?)
Migrate old badges data to new database (postgresql -> mysql)
3rd quarter:
Migrate old badges data to new database (postgresql -> mysql)
Fedora-messaging middleware
Python?
Writing unit tests with Pytest
Containerization / running in communityshift
Deployment documentation, SOP (!!!)
How to add a new badge
How to upgrade the version
4th quarter:
Fedora-messaging middleware
(see previous)
Benefits to intern (What intern gets out of internship):
Experience working with Python/Django (widely-used language/framework)
Experience working with Open Badges specification (universally applicable)
Experience working with common DevOps tools (containers, OpenShift)
Access to a group of mentors across different professions / skill sets
Networking opportunities in a global, interspersed Free Software community
Project website:
badges.fedoraproject.org
Project repo:
Tahrir, Tahrir-API
Where can an applicant find application tasks?
Tahrir issue tracker, issues tagged with “story”
IRC/Telegram:
#fedora-badges / @fedorabadges
Skills required including what level and if they are optional:
Python: Intermediate
Django: Beginner
Docker/containers: Beginner
Kubernetes/OpenShift: Optional, but helpful
Outreachy applicants are required to make a contribution as part of the application. What is the process for making a contribution?
Create a FAS account
Create a github account
Subscribe to the badges + infrastructure mailing list
Introduce yourself to the team! (On the mailing list & IRC) (Telegram suggested)
Join #fedora-badges on IRC, Fedora Badges on telegram
Register your nick with freenode so you can speak in channels
Reading docs about Fedora infrastructure
Setting up the dev environment (tahrir? badgr-server?)
Installing fedora-messaging locally and publish a test message
Add a test badge (using Fedora design assets) to local badgr-server


I like this project idea a lot. I do think there's a lot of items to get done on this list but it also looks like it's pretty easy to scale depending on the intern. I thought there was some ongoing discussion about messaging, is Fedora messaging the preferred interface these days?

Is there a concise link with instructions for "Add a test badge (using Fedora design assets) to local badgr-server"? If so, I think this project can go in the Outreachy system

Metadata Update from @jflory7:
- Issue tagged with: Outreachy

4 years ago

Metadata Update from @riecatnor:
- Issue status updated to: Closed (was: Open)

3 years ago

Login to comment on this ticket.

Metadata