From Fedora Project Wiki

Proposal

An overview of the proposal

What is free media service?

In simply Freemedia service volunteer initiative by local Fedora Ambassadors and contributors is giving away Fedora products freely to whom got trouble in downloading.

What is the current process that Freemedia group following?

Process.jpg

Above flow chart clearly describe current process going on the fedora freemedia service. For this process it use tool called trac.

What my plan is to

Current process of the free media is almost done by manually. What I have to do is make this process automated as much as possible


The need you believe it fulfills

  • Volunteers should have facility to logging to system using FAS account. In current process he/she has to subscribe to mailing list and apply to freemedia group. In this system volunteers have to fill a simple form in order to apply to the freemedia service. So that they will be automatically subscribe to mailing list and freemedia group without much trouble.
  • In current process requesters just have to fill simple form and create ticket. Sometimes user provided data may be incorrect. So that their tickets may be rejected. This system will give proper validation for user data in order to overcome this problem. Also requester has to go through quick survey on why he/she needs freemedia.
  • Volunteers should get relevant email notifications on submitted tickets.
  • Current statistic report system is not efficient. This system use following methods to collect statistic data from the requesters
    • By requester forms.
    • By quick survey before creating a ticket.
    • By feedback survey after full filed the request.

These data can be used to make sophisticated static report. Also system consist authorized API for statistical data. So authorized user can generate report through API calls.

  • From the volunteers side there should be a moral up. For that static report system have leader board where top donators list will be displayed.
  • Attractive UI


Relevant experience I have

  • I have some experience with PHP and SQL.
  • I am B.Sc. (Computer Engineering) undergraduate of University of Peradeniya, Sri Lanka.

How I intend to implement my proposal

Tools and Frameworks use in this project

  • Most of in this project will be implemented within CakePHP, an open source PHP MVC Development Framework. The reasons are to select CakePHP
    • Uses the MIT license (Which is compatible with GPL)
    • Many documentation.
  • For Survey system, LimeSurvey will be used.
  • Bootstrap

Architecture

Architecture.jpg

Login mechanism

Login system is basically use FAS JSON interface. For each user type there should be different access level. In this system there are three types of users

User table.jpg


In login mechanism, first it checks whether the FAS account is active and valid. Then FAS account name is checked in system database and applied corresponding user level accesses and features. Volunteers and admins are directed to profile page after login done.

Form and ticket handling system.
Form handling

There are two types of forms in this system

  • Freemedia request form.
  • Volunteer application form.
    • Freemedia request form:-
      • This form has validation mechanism. Therefore it can validate specially email addresses and other useful data. Then validated data from the request form and quick survey data are used to create new ticket.
    • Volunteer application form:-
      • When volunteer submit the application form, admins get a notification (both mail and profile page notification). After admin accepts the application, Volunteers will directed to profile page which they can maintain.
Ticket handling

This system will use element called ticket to handle freemedia requests. When user created a ticket it will be stored in system database. All the tickets will be display in the page called request report page which can be seen by volunteers and admins. Also newly created ticket will be notified through email to relevant volunteers. Following figure will describe the status of the ticket.

A rough timeline for your progress

Any other details you feel we should consider

Have you communicated with a potential mentor? If so, who?