Un instrument universal pentru evaluarea, descoperirea alternativelor si compararea proiectelor software.

In prezent accepta Github si NPM. Urmeaza.

Obiective

Obiectivele ambitioase ale lui Moiva:

  • sa devina cel mai bun instrument de evaluare a software-ului
  • deveniti cel mai bun instrument pentru a descoperi alternative
  • deveniti cel mai bun instrument pentru a compara software-ul

Conceptul de biblioteca

Un concept de biblioteca constituie nucleul functionalitatii Moiva, este o entitate cu care opereaza Moiva.

Permite Moiva sa fie un instrument universal si agil care ofera functionalitati de cautare, sugestii si date statistice pentru diferite tipuri de biblioteci software.

In prezent, Moiva accepta depozite Github si pachete NPM.

Este relativ usor sa adaugati suport, de exemplu, pentru Maven (proiecte Java), Packagist (PHP) si PIP (Python).

Conceptul de biblioteca poate fi descris in mod simplist ca urmatoarea interfata:

interfata Biblioteca {repo: string; // o referinta la o depozit GitHub npm ?: sir; // o referinta la un pachet Npm este NpmCoreArtifact ?: boolean; // indica daca pachetul npm este un artefact de baza al categoriei depozitului GihHub: sir; // folosit in sugestii si cadru SEO ?: sir; // folosit in sugestii si alias SEO ?: sir; // folosit in sugestii si SEO}

Caracteristici

Conceptul de biblioteca are urmatoarele proprietati importante:

Exemple

Mai jos sunt exemple care ilustreaza relatia dintre Repostory, pachetul Npm si Biblioteca Moiva.

  1. Un depozit nu are niciun pachet Npm asociat

  2. Un depozit are pachete Npm ca artefacte, dar niciun pachet ca artefact de baza.

  3. Un depozit are pachete Npm. Unul dintre pachete este artefactul de baza al Repostory.

  4. Un depozit nu poate avea mai multe artefacte de baza.

Identificare

Combinatia de proprietati repo si npm identifica in mod unic o biblioteca.

Referinta URL

Fiecare biblioteca de pe Moiva.io face trimitere in mod unic prin URL.

Bibliotecile cu proprietatea npm definita ar trebui sa fie mentionate de numele pachetului lor Npm in parametrul de interogare npm, de exemplu,? Npm = vue

Bibliotecile fara proprietatea npm ar trebui sa fie referite folosind proprietarul si numele depozitului in parametrul de interogare github, de exemplu,? Github = facebook / react

Aliasuri

O biblioteca poate avea definita o proprietate alias optionala.

Aliasurile sunt folosite pentru a reprezenta mai bine numele bibliotecii in lista de sugestii si, de asemenea, in titlul si descrierea paginii.

Daca aliasul nu este definit, atunci se utilizeaza numele depozitului.

Numele si pseudonimele depozitelor ar trebui sa fie unice. Daca exista doua depozite cu acelasi nume, cel putin unul dintre ele ar trebui sa aiba un alias definit.

Contributie

  1. Daca doriti ca o anumita biblioteca (un repo GitHub sau un pachet Npm) sa apara in lista de sugestii si sa apara si in rezultatele Cautarii Google, ar trebui adaugata in catalogul Moiva. Simtiti-va liber sa deschideti un PR sau o problema acolo.

  2. Daca ati observat o problema pe Moiva.io sau aveti o sugestie / idee cum sa o imbunatatiti, va rugam sa deschideti o problema in acest depozit.