This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
contrib:rsoc:pylxr [2010/05/17 16:08] 10.38.236.130 |
contrib:rsoc:pylxr [2020/07/20 09:16] (current) |
||
---|---|---|---|
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:// | 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 |
- | * Software engineering (parsing, căutare, baze de date, interfață web) | + | |
- | === Aplicații similare === | + | ==== Aplicații similare |
- | * [[http:// | + | |
- | * [[http:// | + | * [[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. | + | * 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). | + | * 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. | + | * 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:// | + | * [[http:// |
- | * Aplicație de indexare a codului care să permită căutarea rapidă | + | * Aplicație de indexare a codului care să permită căutarea rapidă |
- | * Bază de date (de preferat [[SQLite]]) | + | * Bază de date (de preferat [[http:// |
- | * Python (CGI sau mod_python) pentru interfața web | + | * Python (CGI sau [[http:// |
+ | ===== Cerințe necesare ===== | ||
- | == Cerințe | + | * 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 | ||
- | == 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/ | ||
+ | * Folosirea unui sistem de versioning (CVS, SVN, Git, Darcs etc.) | ||
+ | ===== Cunoștințe/ | ||
- | == Cunoștințe/ | + | * |
+ | * Cunoștințe medii/avansate de programare în Python | ||
+ | * 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 | ||
- | == 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 == | + | |
- | * Vom folosi un proiect Redmine și repository Git pentru dezvoltare, testare și planificare. Instanța Redmine va fi creată în momentul pornirii proiectului. | + | ===== Resurse disponibile ===== |
- | * Pentru comunicare vom folosi o listă de discuții. Lista de discuții va fi creată în momentul pornirii proiectului. | + | |
- | * Pentru lucru efectiv vom folosi sala EG106. | + | |
+ | * Pentru comunicare vom folosi o listă de discuții. Lista de discuții va fi creată în momentul pornirii proiectului. | ||
+ | * Pentru lucru efectiv vom folosi sala EG106. |