[x] The code base is a little messy and needlessly complex. Many classes can be reduced to simple subroutines.
[x] CRAI does not need to use curl and jq. It can use LibCurl and JSON::Fast instead.
[x] Properly index version numbers (#6). Will probably go with the normalization approach: 1.2.3 becomes 00000001.00000002.00000003.00000000.00000000.00000000 so that string sorting works. Malformed information such as * and 1.2.3-alpha get truncated, so those would be treated just like 0 and 1.2.3 respectively.
Features
[ ] We should index more metadata, as well as sources and POD,
[ ] Invocations of the cron job should collect data in a structured format in the database, associated with the relevant archive. This will make it easy to implement state of the ecosystem diffing (#17). This will also make logs available to the public (#13).
More extensive search engine and information display in the web interface.
[ ] Page for every archive, linkable by archive URL, dist name (latest) or dist/version pair.
[ ] Page for every unit.
[ ] Page for every resource.
Ops
[x] Set up TLS.
[x] Use FastCGI instead of CGI.
[ ] Install alerting for service down or high load.
Implementation
1.2.3
becomes00000001.00000002.00000003.00000000.00000000.00000000
so that string sorting works. Malformed information such as*
and1.2.3-alpha
get truncated, so those would be treated just like0
and1.2.3
respectively.Features
Ops