Name : Themistoklis Beris
Email: themis.n.beris at gmail dot com
Github: Github Account
Stackoverflow: Stackoverflow Account
Background: I am a student of Computer Science at the University Of Athens (3rd grade). I have been programming for the past 3 years and i am really interested in web development and system administration. I have A grades on all Programming-Related lessons (e.g. Operating Systems,etc) and i think i have a solid background in Computer Science.
Personal Projects
- I am leading a team, that is trying to create a large scalable network that will connect all the Universities of Greece in order to share knowledge, get informed for their school and ask-reply their own questions through a hashtag driven approach.(2013-Now)
During the first year of my studies, i developed APPanellinies an iOS Application that was used by candidates of greek exams (known as Panellinies). It provided an online library of past exams' topics and statistical information about the Universities and Technological Institutes(through the years) and more.(2013)
From my personal projects i have good knowledge of PHP/Hack, HTML, XHP, Javascript/Jquery, CSS, SQL, HHVM/Nginx Configurations, Bash , Security Issues, and more.
I think i am the best person to work, because i have all the prerequisite skills (academic and personal experience), i am willing to learn new technologies and i would like to contribute something important -as this project- on the open source community.
Project title : Automated configuration of packaged web applications
Project details: The goal of the project is to create a web application that will be used by end-users that want just to install other web applications easily, without typing commands in terminal.
1. The tool will have a friendly UI, asking the user to install one of the supported web applications.
User can define some frequently used settings that will be included in the backend setup later.
- The user will get notifications for all the web applications updates he has installed on the system and he could also install the update.
We can use Plinth as development tool for the UI.
2. Recipes:
The tool will support at least 3 different web applications. Wordpress(PHP), Django(Python) and LocomotiveCms(Ruby on Rails).
- There would be installed using chef.
3. We should have config files externalized to /etc/<appname>/conf.d , otherwise every update of the web app will ruin our previous efforts. We can get this done by pushing patches on Debian Packages.
4. The code will be well-documented through every module we use and will be maintained even after the GSOC, as there are many more web applications that can be included in. The coding style should comply with the standards debian community uses.
Synopsis: A tool that will make install/update of web applications an easy task.
Benefits to Debian: It will help users and web developers that want to host their web app on Debian but they are afraid of the complex commands should know.
Deliverables: Application installer, Web app that will enable users to update their installed web apps/change their settings, Documentation
Project schedule
1. Now - Community Bounding Period
- Learn more about Debian Packaging System, Chef and Plinth.
- Create small demonstration examples to get used with the technologies needed.
- Explore Debian Community and see the coding conventions that are followed.
2. Community Bonding
- Discuss with the mentors asking for more details about the project.
- Continue learning more about Chef and Plinth.
3. Week 1-4 :
- Setup a lightppd server
- Create mockup of the web page
- Write page structure (HTML/PHP)
- Write a single XML-file that would be "used" as database
- Design page (CSS)
- Create automated configuration tool.
4. Week 4-5.5 :
- Write a Chef recipe module for Wordpress.
- It will be loaded on the automated tool and get tested.
- Resolve the externalisation problem.
5. Week 5.5-7 :
- Write a Chef recipe module for Django.
- It will be loaded on the automated tool and get tested.
- Resolve the externalisation problem.
6. Week 7-8.5 :
Write a Chef recipe module for ?LocomotiveCms.
- It will be loaded on the automated tool and get tested.
- Resolve the externalization problem.
7. Week 8.5-End :
- Debug thoroughly the application.
- Test application in different versions of Debian.
- Final Evaluations / Commits
Exams and other commitments: The exact schedule of exams has not been published yet. The only information i have is that exams start on 8 June and finish on 26 June (i will only participate in 4 lessons but i still do not know when exactly these lessons will be examined).
Other summer plans: No.
Why Debian?: I am a Linux enthusiast! I find amazing how light and powerful Debian is (comparing both with the other Linux Distros and other OSes), providing all the goods every modern OS has.
Are you applying for other projects in SoC?: No.