User Tools

Site Tools


contrib:rsoc:pylxr

Differences

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

Link to this comparison view

contrib:rsoc:pylxr [2010/05/17 16:43]
10.38.236.130
contrib:rsoc:pylxr [2020/07/20 09:16]
Line 1: Line 1:
-= PyLXR = 
-== 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://sourceforge.net/projects/lxr/ | LXR]] sau [[http://lxr.linux.no/ | lxrng]] dar scrisă în Python. Aplicațiile actuale scrise în Perl sunt dificil de înțeles și configurat. Considerăm că un limbaj precum Python poate oferi un timp de dezvoltare rapid și o mentenanță facilă a codului. 
-== Categorie aplicație == 
- 
-* Software engineering (parsing, căutare, baze de date, interfață web) 
- 
-=== Aplicații similare === 
- 
-* [[http://sourceforge.net/projects/lxr/ | LXR]] 
-* [[http://lxr.linux.no/ | lxrng]] 
-* [[http://www.gnu.org/software/global/ | GNU GLOBAL]] 
-== 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ă == 
- 
-* Dezvoltatori de programe, preponderent proiecte FOSS. Aplicații de source-code browsing precum [[http://ctags.sourceforge.net/ | ctags]], [[http://cscope.sourceforge.net/ | cscope]], [[http://www.gnu.org/software/global/ | GNU GLOBAL]] și cele care oferă interfață web precum [[http://sourceforge.net/projects/lxr/ | LXR]], [[http://lxr.linux.no/ | lxrng]] sau [[http://www.gnu.org/software/global/ | GNU GLOBAL]] sunt utile pentru parcugerea rapidă și înțelegerea codului. 
-== Limbaje de programare/biblioteci/aplicații/framework-uri folosite == 
- 
-* Limbaj principal: Python 
-* [[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ă 
-* Bază de date (de preferat [[http://www.sqlite.org/ | SQLite]]) 
-* Python (CGI sau [[http://www.modpython.org/ | mod_python]]) pentru interfața web 
-== 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 == 
- 
-* 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 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 == 
- 
-* 3-4 zile: training/acomodare cu limbajul Python, aplicațiile folosite, baze de date, proiectarea arhitecturii aplicației 
-* 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) == 
- 
-* 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) == 
-== Resurse disponibile == 
- 
-* 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 lucru efectiv vom folosi sala EG106. 
contrib/rsoc/pylxr.txt · Last modified: 2020/07/20 09:16 (external edit)