PyLXR este o aplicație care oferă posibilitatea navigării codului printr-o interfață web. Aplicația este o reimplementare LXR sau 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.
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).
Dezvoltatori de programe, preponderent proiecte FOSS. Aplicații de source-code browsing precum ctags, cscope, GNU GLOBAL și cele care oferă interfață web precum LXR, lxrng sau GNU GLOBAL sunt utile pentru parcugerea rapidă și înțelegerea codului.
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 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)
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
Vom folosi un proiect Redmine și repository 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.
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 LXR sau 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
Aplicații similare
Obiective
Grup țintă
Limbaje de programare/biblioteci/aplicații/framework-uri folosite
Cunoștințe necesare
Cunoștințe recomandate
Cunoștințe/abilități dobândite
Plan/roadmap pe termen scurt
Plan pe termen mediu. Continuarea colaborării
Draft arhitectură. Componente principale
Arhitectură PyLXR
Resurse disponibile
Echipă