Google Summer of Code 2019 Final Project Report

Google Summer of Code Image

Hi there, I am Sukhbir Singh, a final year student of National Institute of Technology Hamirpur. For the last 3 months, I have worked with “Amahi” organization as a Google Summer of Code student developer. Amahi is one of the best open-source media server software available right now and is well known for its easy to use interface and functionalities. The “Platform” is the core software of Amahi and it is in development for last 7 years. Amahi 11 is the latest version of Amahi and it is officially released last year in 2018 and provides support for fedora 27. Amahi 12 is currently in development phase and will be released soon with many awesome features. In this report, I would like to mention everything I have worked on during this period of GSoC 2019.

Project Details

Student: Sukhbir Singh (sukhbir-singh)

Mentor: Carlos Puchol (cpg)

Organization: Amahi

Work Duration: May 27, 2019 - August 19, 2019

GSoC Proposal Link: Amahi 12 Improvements

Introduction

The aim of my proposal for this year’s GSoC is to implement new features for Amahi 12. This also includes implementing new plugins and maintaining existing plugins for Amahi system.

Objectives Achieved:-

  1. Developed various new features and improvements for Amahi platform.
  2. Implemented friending feature for Amahi 12 using which Amahi users can share their files and Shares with other Amahi users.
  3. Improved and maintained disk wizard and web apps plugin for Amahi 12.
  4. Implemented most of the parts of lets encrypt feature. This feature will help in providing support to certificate generation required for establishing secure connection with subdomains of yourhda.com for Amahi.

Implementations

1. Platform

2. Friending

2.1 Friending Plugin

2.2 Friending Rails Backend

3. Disk Wizard Plugin

4. Web Apps Plugin

5. Let’s Encrypt

5.1 Let’s Encrypt Plugin

5.2 Let’s Encrypt Backend Server

5.3 Let’s Encrypt Cert Factory

Platform

Repository Link: https://github.com/amahi/platform

Merged Pull Requests: amahi/platform/pulls-closed

Opened Pull Requests: amahi/platform/pulls-opened

DockerHub Repo

Docker Repository Link: sukhbir947/amahi_platform

Friending Plugin

Repository Link: https://github.com/amahi/friending-plugin

All Commits: amahi/friending-plugin/commits

Friending Rails Backend

Repository Link: https://github.com/sukhbir-singh/amahi-friending-backend

All Commits: sukhbir-singh/amahi-friending-backend/commits

Disk Wizard Plugin

Repository Link: https://github.com/amahi/disk-wizard

All Commits: amahi/disk-wizard/commits

Pull Requests: amahi/disk-wizard/pulls

Web Apps Plugin

Pull Request: amahi/web-apps/pulls

Let’s Encrypt Plugin

Repository Link: https://github.com/sukhbir-singh/lets-encrypt-plugin

All Commits: sukhbir-singh/lets-encrypt-plugin/commits

Let’s Encrypt Backend Server

Repository Link: https://github.com/sukhbir-singh/lets-encrypt-backend-server

All Commits: sukhbir-singh/lets-encrypt-backend-server/commits

Let’s Encrypt Cert Factory

Repository Link: https://github.com/sukhbir-singh/amahi-cert-factory

All Commits: sukhbir-singh/amahi-cert-factory/commits

Future Work

There is always a scope of improvements. Softwares need maintenance to keep working fine in new changing environments. With newer versions of Amahi got released to support latest fedora versions, plugins for the same needs maintenance. Friending feature needs to be adapted for Amahi.org. Most of the work in Let’s encrypt feature is complete but still needs some development.

Conclusion

I enjoyed contributing to Amahi and learned lots of new things in the way. This was my second time doing Google Summer of Code with Amahi. Thanks to this awesome program, I can say that I have become a better software developer overall and now I am not afraid to contribute to big codebase projects. I would also like to thanks @cpg for mentoring me so well during this program. During this period, I have gained lots of new skills related to coding, software maintenance, system design, etc that will always help me in my career ahead.

Cheers to open source!!