User:Mapleoin/pkgdb-EndUserUI

= packageDB EndUserUI =

Other *nix distributions have a centralized place which enables the user to search and find relevant information about a certain application (ex: packages.debian.org, freshports.org, aur.archlinux.org etc.), but this is missing in fedora. The pkgdb is developer-centric as are other related applications which hold this information (bodhi, koji, bugzilla etc.). Different users have been asking for this feature for years.

This project will create another view of the pkgdb aimed at the general fedora user. The project will be integrated with existing tools (yum, bodhi) with a desire to centralize their information and present it in a suitable form for the intended audience. It will provide package information such as: project website, pkg version, occupied space, categories, dependencies, user commenting/reviewing of packages, user tags with keywords (which will be exported to other tools in the future and used for searching).

import information from the yum repositories [5 weeks]
'''This information should be kept in the same place that the general package information is - in the pkgdb database. This will be the source of information for other webapps.'''
 * migrate existing summary/description code to use this [0.5 weeks]

1. write dbschema to support this [0.5 week] 2. write importer to sync information from yum repo to pkgdb [2 weeks]


 * latest version in EPEL, Fedora 9, 10, devel [non-EOL distros]
 * dependencies
 * package space requirements (size_installed in yum)
 * upstream url + spec file url
 * file list + mark packages that have a .desktop (these are the ones users will most likely be interested in)
 * try to get commit messages (yum or bodhi)
 * license

3. write Web UI to show this [2 weeks]


 * search on packages, tags, package descriptions (just UI since most of this work has already been done)
 * simple toolbar to link to "Developer resources" -- pkgdb owner page, bodhi, koji, bugzilla
 * build new frontpage for users to replace the current /pkgdb
 * lists of latest packages (ones with .desktop)
 * build new pkgpage with comments at: /pkgdb/packages/PACKAGE
 * owners of a package (from pkgdb)

user created tags [2.2 weeks]
This does not overlap with any of the existing ideas and the information should also be held in the same db as the packages information
 * dbschema [0.5 weeks]
 * 0.5 weeks]
 * user can enter tags
 * tags are entered in different languages
 * displayed in UI
 * output to xml [1 week]
 * search by tag added to the current search and separate search by tag [0.2 weeks]

user reviews/comments on packages [2 weeks]

 * dbschema changes [1 week]
 * new fas group for comment moderators
 * comments table & friends
 * add language support (nothing in the UI for now
 * users need to be authenticated with FAS - just a policy note.
 * UI, new TG method [1 week]

Two RSS feeds [2 weeks]
again, this is a provider, not a consumer
 * .desktop packages name/version list
 * comments list

Total estimated time: 9.2 weeks

Bonus points:
 * review tagging
 * comment/review ratings by other users
 * adding up the ratings to create a karma system to reward review contributor