Over many years, I have developed Remository - a file repository application for Joomla. It provides a flexible way to store any kind of file. They are organised into folders, which can be nested to any level you like. Although the files in the repository can be stored in the file system, Remository allows them to be stored in the database or in any AWS S3 compatible storage. Those offer security, since it is absolutely impossible for a hacker to find a way to execute a file that is not in the file system. S3 storage is available in large quantities too, often at relatively low cost, and can offer fast global delivery of files. Remository uses an advanced role based access control system to decide who can access a file.
More recently, I took up the former Alpha User Points, now renamed UserPoints. It provides a mechanism for awarding points to users for many different possible actions. And points can be used to "pay" for a variety of things, such as file downloads or membership subscriptions. UserPoints is readily extensible to work with other software products or to implement new rules for handling points.
Remository relies on the Black Sheep Research Library for Joomla. It is the library that provides a file abstraction layer so that Remository can handle files in the same way regardless of whether they are on disk, in the database or in S3. It also provides advanced cache services - in particular the ability to cache objects thus saving the work of repeatedly constructing complex objects. The library also provides the role based access control system, that is a user friendly way to specify complex conditions for who can access what resource. There are also methods to enhance database services and a set of services for accessing the API of the modern Listmonk mailing system.
Other useful software includes a Changelog Manager that makes it easy to keep track of changes in software products and to create XML that is compatible with the Joomla changelog mechanism. Also a Restful Plugin that makes it easy to implement REST APIs in Joomla with minimal overheads.
