This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
contrib:rsoc:pylxr [2010/05/16 11:00] razvan created |
contrib:rsoc:pylxr [2010/05/17 17:07] 10.38.236.130 |
||
---|---|---|---|
Line 1: | Line 1: | ||
= PyLXR = | = PyLXR = | ||
- | |||
== Nume și descriere proiect == | == Nume și descriere proiect == | ||
+ | PyLXR este o aplicație care oferă posibilitatea navigării codului printr-o interfață web. Aplicația este o reimplementare [[http:// | ||
== Categorie aplicație == | == Categorie aplicație == | ||
- | * Web/ | + | * Software engineering (parsing, căutare, baze de date, interfață web) |
+ | === Aplicații similare === | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
== Obiective == | == Obiective == | ||
+ | * Se dorește obținerea unei aplicații care să permită acces prin intermediul interfeței web la codul sursă al unui program. | ||
+ | * Pentru moment este vizat limbajul C. | ||
+ | * Se dorește căutarea atât după numele funcției sau variabilei (tag-search) cât și după nume de fișiere (file search) sau șiruri de caractere (freetext search). | ||
+ | * Aplicația va fi implementată în Python. | ||
== Grup țintă == | == Grup țintă == | ||
+ | * Dezvoltatori de programe, preponderent proiecte FOSS. Aplicații de source-code browsing precum [[http:// | ||
== Limbaje de programare/ | == Limbaje de programare/ | ||
+ | * Limbaj principal: Python | ||
+ | * [[http:// | ||
+ | * Aplicație de indexare a codului care să permită căutarea rapidă | ||
+ | * Bază de date (de preferat [[http:// | ||
+ | * Python (CGI sau [[http:// | ||
== Cerințe necesare == | == Cerințe necesare == | ||
+ | * Cunoștințe de bază de progamare | ||
+ | * Cunoștințe medii de programare C | ||
+ | * Cunoștințe de algoritmi de căutare și sortare | ||
+ | * Deprinderi în utilizarea unui sistem Unix (linia de comandă) | ||
+ | * Deprinderi de folosire a tool-urilor principale de programare (editor, compilator, debugger) | ||
== Cerințe recomandate == | == Cerințe recomandate == | ||
+ | * Cunoștințe de bază Python | ||
+ | * Cunoștințe de bază de web programming | ||
+ | * Cunoștințe de bază de baze de date | ||
+ | * Deprinderi de utilizare a ctags/csope | ||
+ | * Folosirea unui sistem de versioning (CVS, SVN, Git, Darcs etc.) | ||
== Cunoștințe/ | == Cunoștințe/ | ||
+ | * Cunoștințe de software engineering, | ||
+ | * Cunoștințe medii/ | ||
+ | * Cunoștințe de documentare a unui proiect de amploare | ||
+ | * Cunoștințe de lucru în echipă, colaborare, comunicare | ||
+ | * Deprinderi de folosire avansată a unui sistem Unix | ||
+ | * Deprinderi de configurare/ | ||
== Plan/ | == Plan/ | ||
+ | * 3-4 zile: training/ | ||
+ | * 1 săptămână: | ||
+ | * 1 săptămână: | ||
+ | * 3-4 zile: testarea aplicației în stadiul actual (integrare sistem de source code tagging și căutare în baza de date) | ||
== Plan pe termen mediu (continuarea colaborării) == | == Plan pe termen mediu (continuarea colaborării) == | ||
+ | * Proiectarea unui fișier de configurare pentru aplicație (loc cod sursă, informații bază de date, informații despre publicare). Integrarea fișierului de configurare în aplicație | ||
+ | * Definirea unui API de comunicare cu aplicația (văzută ca un backend). Diversele interfețe de folosire (CLI, GUI, WebUI) vor fi văzute ca front-end | ||
+ | * Proiectarea și implementarea interfeței web folosite de aplicației | ||
+ | * Integrarea interfeței web cu aplicația | ||
+ | * Testarea aplicației | ||
+ | * Installer pentru aplicație (pachet) | ||
== Draft arhitectură (componente principale) == | == Draft arhitectură (componente principale) == | ||
+ | |||
+ | {{ : | ||
== Resurse disponibile == | == Resurse disponibile == | ||
- | * liste de discuții, repository-uri, | + | * Vom folosi [[https:// |
+ | * Pentru comunicare vom folosi o listă | ||
+ | * Pentru lucru efectiv vom folosi sala EG106. |