From Fedora Project Wiki

No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 9: Line 9:
* '''Fedora Account''': gulic
* '''Fedora Account''': gulic


== Project: Fedora College ==
= Project: Fedora College =
The main idea of Fedora College is creating a website that will help and teach newcomers how to become part of some Fedora project. Fedora-College will offer videos for various Fedora project through which new contributors will learn what to do next.
The main idea of Fedora College is creating a website that will help and teach newcomers how to become part of some Fedora project. Fedora-College will offer videos for various Fedora project through which new contributors will learn what to do next.


=1.Home page=
==Home page==
 
* '''Description:'''
* '''Description:'''
Index page of the website. This page contains information about the project, how to use it. how to contribute to it, how to make it better.
Index page of the website. This page contains information about the project, how to use it. how to contribute to it, how to make it better.
Line 23: Line 22:
https://www.dropbox.com/s/482n8uyea8qdcl8/frontpage.png
https://www.dropbox.com/s/482n8uyea8qdcl8/frontpage.png


2. User dashboard
==User page / User dashboard==
Description:
* '''Description:'''
The user dashboard is the main and the most important part of the project. This is the place from where the user can watch videos, comment and ask for help. The user dashboard will display latest videos that are added to the site, latest comments and most popular videos. This way we can also get the idea where newcomers struggle the most and provide more resources that can help them get involved.  
The user dashboard is the main and the most important part of the project. This is the place from where the user can watch videos, comment and ask for help. The user dashboard will display latest videos that are added to the site, latest comments and most popular videos. This way we can also get the idea where newcomers struggle the most and provide more resources that can help them get involved.  
User dashboard in a way can be divided into few important parts:
User dashboard in a way can be divided into few important parts:
section (role) view  (list all available roles)
*section (role) view  (list all available roles)</br>
projects in section
*projects in section</br>
project page
*project page</br>


    The section view displays roles from which user can choose. This view helps the user to choose the right role for him, where and how he sees himself. This page will contain a short intro about each role.
The section view displays roles from which user can choose. This view helps the user to choose the right role for him, where and how he sees himself. This page will contain a short intro about each role.  
    There will be pages for each role. On this page the user can read a informations about the role, what he needs to know to get involved with the projects associated with that role. The list of projects that are available for a particular role, will be listed with an icon and a short description of the project.


    The project page is the page where the videos will be displayed. This page will contain information about the project, like irc channel, mailing list, contact information and a list of videos available for that projects.  
There will be pages for each role. On this page the user can read a information about the role, what he needs to know to get involved with the projects associated with that role. The list of projects that are available for a particular role, will be listed with an icon and a short description of the project.


Features
The project page is the page where the videos will be displayed. This page will contain information about the project, like irc channel, mailing list, contact information and a list of videos available for that projects.
    - watch videos
    - make role, project favorite, so when user logs in again he gets the latest comments and activity for that role/page
    - with making one role/project favorite user can get an email notification about comments, new videos or similar news
    - comment
    - write feedback/rank the video tutorial
    - ask and answer questions of other user on a specific subject


Design
 
    The mockups are inspired from https://fedoraproject.org/en/join-fedora
*'''Features:'''
- watch videos
- make role, project favorite, so when user logs in again he gets the latest comments and activity for that role/page</br>
- with making one role/project favorite user can get an email notification about comments, new videos or similar news</br>
- comment</br>
- write feedback/rank the video tutorial</br>
- ask and answer questions of other user on a specific subject</br>
 
*'''Design:'''
The mockups are inspired from https://fedoraproject.org/en/join-fedora
Links to some mockups:
Links to some mockups:
    https://www.dropbox.com/s/criwvbkt1kipfzb/user_home_page.png
https://www.dropbox.com/s/criwvbkt1kipfzb/user_home_page.png
    https://www.dropbox.com/s/1jvohltx510onzg/section_page%281%29.png
https://www.dropbox.com/s/1jvohltx510onzg/section_page%281%29.png
https://www.dropbox.com/s/9kfl97kzjqg57yb/project_page.png
https://www.dropbox.com/s/9kfl97kzjqg57yb/project_page.png
* Note I’m not a designer :)
* Note I’m not a designer :)


3. Admin  
==Admin page==
Description
* '''Description:'''
    The admin user page will display comments, videos that need to be approved and added to a certain project.
The admin user page will display comments, videos that need to be approved and added to a certain project.
Features
*'''Features:'''
    - upload videos
- upload videos</br>
    - change content of pages
- change content of pages
 
Other features of the website should be discussed with mentor.
Other features of the website should be discussed with mentor.


== Activities within Fedora ==
= Development and implementation =
Fedora-College is written in Flask with PostgreSQL database.
For the design of the templates we can use Flask-Jinja and Flask-WTF for the forms that will be created for commenting, writing feedback, rating etc.
I would also like to make the site multilingual. For that we can use Flask-Babel. The generated .po file can be one of the tasks for the new users that want to contribute to translation team.
 
My latest project is written in Flask and PostgreSQL, so I think that I won't face any difficulties during development and implementation of this project.
 
= Timeline =
before 19 May:
* continuous communication with mentor</br>
* discussions about needed functionality</br>
* discussion and design of mockups </br>
* define structure of the database</br>
 
19 May - 1 June:
* start to work on implementation of Index page
* setting up initial database structure, define needed trigers
* working on the initial functionality and design needed for the website
 
2 June - 15 June:
* work on User Dashboard
* testing the implemented code
 
16 June - 29 June:
* adding new functionalists to User Dashboard
* start to work on Admin
* midterm evaluation
 
30 June - 13 July:
* finishing work on Admin page
* discuss what else needs to be done in User Dashboard
* add sending email notifications to users
 
14 July - 27 July:
* adding multilingual functionality
* testing
 
28 July - 10 August:
* fixing bugs
* adding other functionality
 
Till 18 August:
* fixing bugs
* making final changes


* Some words about your involvement in Fedora, your plans, ideas, etc.
*** The implementation of every functionality during the development process will be consulted with the mentor, and if needed there can be changes to the plan, so that we can get the desired features for the project by the end of the program.
* For example, if you are into translations, the languages you are working on; if you are into docs, the docs you are interested in, etc.

Latest revision as of 14:29, 21 March 2014

GSOC 2014 -Student application

Information

  • Name: Jovanka Gulicoska
  • Email: jovanka.gulicoskaATgmail.com
  • IRC: gulic
  • GPG key:
  • Fedora Account: gulic

Project: Fedora College

The main idea of Fedora College is creating a website that will help and teach newcomers how to become part of some Fedora project. Fedora-College will offer videos for various Fedora project through which new contributors will learn what to do next.

Home page

  • Description:

Index page of the website. This page contains information about the project, how to use it. how to contribute to it, how to make it better.

  • Features:

-slider for the front page
-about page
-how to page

  • Design:

https://www.dropbox.com/s/482n8uyea8qdcl8/frontpage.png

User page / User dashboard

  • Description:

The user dashboard is the main and the most important part of the project. This is the place from where the user can watch videos, comment and ask for help. The user dashboard will display latest videos that are added to the site, latest comments and most popular videos. This way we can also get the idea where newcomers struggle the most and provide more resources that can help them get involved. User dashboard in a way can be divided into few important parts:

  • section (role) view (list all available roles)
  • projects in section
  • project page

The section view displays roles from which user can choose. This view helps the user to choose the right role for him, where and how he sees himself. This page will contain a short intro about each role.

There will be pages for each role. On this page the user can read a information about the role, what he needs to know to get involved with the projects associated with that role. The list of projects that are available for a particular role, will be listed with an icon and a short description of the project.

The project page is the page where the videos will be displayed. This page will contain information about the project, like irc channel, mailing list, contact information and a list of videos available for that projects.


  • Features:

- watch videos - make role, project favorite, so when user logs in again he gets the latest comments and activity for that role/page
- with making one role/project favorite user can get an email notification about comments, new videos or similar news
- comment
- write feedback/rank the video tutorial
- ask and answer questions of other user on a specific subject

  • Design:

The mockups are inspired from https://fedoraproject.org/en/join-fedora Links to some mockups: https://www.dropbox.com/s/criwvbkt1kipfzb/user_home_page.png https://www.dropbox.com/s/1jvohltx510onzg/section_page%281%29.png https://www.dropbox.com/s/9kfl97kzjqg57yb/project_page.png

  • Note I’m not a designer :)

Admin page

  • Description:

The admin user page will display comments, videos that need to be approved and added to a certain project.

  • Features:

- upload videos
- change content of pages

Other features of the website should be discussed with mentor.

Development and implementation

Fedora-College is written in Flask with PostgreSQL database. For the design of the templates we can use Flask-Jinja and Flask-WTF for the forms that will be created for commenting, writing feedback, rating etc. I would also like to make the site multilingual. For that we can use Flask-Babel. The generated .po file can be one of the tasks for the new users that want to contribute to translation team.

My latest project is written in Flask and PostgreSQL, so I think that I won't face any difficulties during development and implementation of this project.

Timeline

before 19 May:

  • continuous communication with mentor
  • discussions about needed functionality
  • discussion and design of mockups
  • define structure of the database

19 May - 1 June:

  • start to work on implementation of Index page
  • setting up initial database structure, define needed trigers
  • working on the initial functionality and design needed for the website

2 June - 15 June:

  • work on User Dashboard
  • testing the implemented code

16 June - 29 June:

  • adding new functionalists to User Dashboard
  • start to work on Admin
  • midterm evaluation

30 June - 13 July:

  • finishing work on Admin page
  • discuss what else needs to be done in User Dashboard
  • add sending email notifications to users

14 July - 27 July:

  • adding multilingual functionality
  • testing

28 July - 10 August:

  • fixing bugs
  • adding other functionality

Till 18 August:

  • fixing bugs
  • making final changes
      • The implementation of every functionality during the development process will be consulted with the mentor, and if needed there can be changes to the plan, so that we can get the desired features for the project by the end of the program.