User Tools

Site Tools


contrib:rsoc:pylxr

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
contrib:rsoc:pylxr [2010/05/17 16:08]
10.38.236.130
contrib:rsoc:pylxr [2010/05/17 17:06]
10.38.236.130
Line 26: Line 26:
 * [[http://ctags.sourceforge.net/ | ctags]], [[http://cscope.sourceforge.net/ | cscope]] sau [[http://www.gnu.org/software/global/ | GNU GLOBAL]] pentru obținerea backendului de tag-uri * [[http://ctags.sourceforge.net/ | ctags]], [[http://cscope.sourceforge.net/ | cscope]] sau [[http://www.gnu.org/software/global/ | GNU GLOBAL]] pentru obținerea backendului de tag-uri
 * 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://www.sqlite.org/SQLite]]) 
-* Python (CGI sau mod_python) pentru interfața web +* Python (CGI sau [[http://www.modpython.org/mod_python]]) pentru interfața web
 == 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/abilități dobândite == == Cunoștințe/abilități dobândite ==
  
 +* Cunoștințe de software engineering, integrare de aplicații, folosirea unor aplicații deja existente
 +* 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/administrare a unui server web și a unui sistem de baze de date
 == Plan/roadmap pe termen scurt == == Plan/roadmap pe termen scurt ==
  
 +* 3-4 zile: training/acomodare cu limbajul Python, aplicațiile folosite, baze de date, proiectarea arhitecturii aplicației, proiectarea unui sistem de logging a informațiilor (probabil folosind [[http://docs.python.org/library/logging.html | Python logging]]
 +* 1 săptămână: integrarea ctags/cscope/GNU GLOBAL în Python, proiectarea și configurarea bazei de date, proiectarea cazurilor de test
 +* 1 săptămână: integrarea facilităților de căutare, aplicație de test în linia de comandă, proiectarea cazurilor de test
 +* 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) ==
 +
 +{{ :contrib:rsoc:pylxr-architecture.png?500|Arhitectură PyLXR}}
 +
 == Resurse disponibile == == 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.+* Vom folosi [[https://projects.rosedu.org/un proiect Redmine]] și repository [[http://git-scm.com/Git]] pentru dezvoltare, testare și planificare. Instanța Redmine va fi creată în momentul pornirii proiectului.
 * Pentru comunicare vom folosi o listă de discuții. Lista de discuții va fi creată în momentul pornirii proiectului. * 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 lucru efectiv vom folosi sala EG106.
contrib/rsoc/pylxr.txt · Last modified: 2020/07/20 09:16 (external edit)