Hi - Sorry your venture did not work out. I think it is generous to share your code with the world. I'm interested in seeing how you put it all together.
Recognizing this is a Pharo list, I'm also interested in seeing your GemStone site and maintenance scripts. Hope you're able to find people to keep it going Paul Pharo Smalltalk Users mailing list wrote > Quuve Moves to the Public Domain under MIT License > <https://opensource.org/licenses/MIT> > > Quuve provides a pro-grade integrated environment for portfolio management > and research for securities investors. Professional grade in that it was > meant to be licensed out to firms/groups offering research & portfolio > management services. It is a virtualized, scaleable, web application > developed with Pharo and deployed on GemStone/S. See the Quuve Overview > video on YouTube > <https://www.youtube.com/watch?v=sraCv1VwJzQ&list=PLfTMPTPc22sGNrm2rXt8kD-9iFTgqbAUG> > for more information. > > Quuve development stopped in the Fall of 2017 due to a lack of funding, > however it still has some cutting-edge features for the industry. Because > Quuve can function as an institutional level data server, tailored mobile > apps could be built as standalone technology - and such an approach could > even take advantage of Quuve’s analyst/site model subscription selections. > > Software Positives: > > - > > Using a Glorp-like interface to access data: Quuve has successfully run > on Pharo (stand alone for development, backed by Fuel), Gemstone > (deployment), and with portions backed using a relational DB - not > required > nor used at present. Quuve provides DB admin tools including > import/export > of DB’s in part or full; deleted records access tables, and more. User > permission-masks can be granted by DB, table, even patterns in records. > - > > Generic CRUD tables UI allows for rapid class development/usage - see > ApplicationContext (stack with preferences style inheritance). > - > > 3-tier model (application, site, user) for data and Rules, allows site > (group) and user specific overrides, which is important in Finance, > where > few will agree on how to define “free cash flow” in one accounting > system, > or one industry, let alone globally. > - > > Processors allow for dynamic code-based answers to data requests; they > blur the lines between data and Rules. Any object can be wrapped with a > Processor and have data and rules added dynamically. Rules allow > data-requests to perform any operation a modern computer can perform, > and > most often these are simple math operations on series. Rules are > organized > by “analyst” names (akin to rules’ Classes), the specifications for > analysts is user specific, allowing for dynamic-inheritance required > for a > pro-grade multi-user Finance application pulling in international data > (using different source accounting standards). Rules are compiled on > demand; all caching is dynamic and user specific. Rules can be defined > using wild-card method-names to open up entire remote volumes of data, > or > data transformations, with a new pattern. Data series are very robust > around missing data and math errors. Quuve includes time profiling and > debugging method-trace system to understand data missing or debug > errors - > enabled in user-specific permissions. > - > > Demonstrated integration of learning systems for analysis and portfolio > management (“robo-trading”). Data-sampling uses “point in time view” to > support accurate backtesting. Portfolios have the unique feature of > being > able to scroll backwards in time to any date to see the specific > holdings > there - as models are built from trade-event records. > - > > Access to millions of FREE data series from sites like FRED (St. Louis > Federal Reserve Bank - USA), World Bank, etc. - menu selectable in > report > writer! > - > > NPI (Non-public information) masking tools - important for privacy in > professional Finance office. > - > > Script Tool allows for ad hoc testing - most tools like the company > report tool also incorporates an ad hoc scripting area. > - > > User-specific configurable DB tables access, window access, etc. User > and DB bindings specified in CSV files for bootstrapping. > - > > Programmer documentation in wiki & in-system help-notes. Some ‘company > reports’ are training tools. > > > Software Issues (“opportunities”!): > > - > > Quuve development stopped in the Fall of 2017 due to a lack of funding; > some dialogs already look a bit out-dated. > > > - > > Some external libraries (e.g. javascript charting) require external > licenses - see Credits listed below. > - > > Professional grade data must be licensed for individual or larger group > - please consult us. Note: we can provide small amounts of CSV data for > testing company reports. Perhaps we can form a consortium to license > pro-grade data - but we need a Champion to lead the way. CSV data can > load > on-demand and depends only on the user’s data-source selection via > preference or dialog-input specification. Small amounts of data can be > sourced from certain sites on an individual basis but not commercially, > e.g. yahoo, google, etc. > - > > Data loaded currently into one default currency - defined in > data-loaders - the idea was to use “table decorators” model to map data > to > any currency at current exchange ratio or historical. > - > > Dropbox was used for file-sharing on cloud servers - not required for > local Pharo execution. > - > > Quuve configuration has not been updated in 18 months. > - > > In recent years only Apple platforms were used for Pharo development. > - > > Currently there is minimal support for Quuve. We can add users to our > existing programmer wiki and slack-threads to pick up where we left > off. In > adding users we would prefer a few dedicated champions. There are tools > that can be harvested for non-Finance applications. We can add a few > trusted users to our current demonstration server, but this contains > data > that cannot be shared, so we must be selective! > - > > Latest working image was Pharo 6.1 32 bits and GemStone 3.4.0 > - > > Latest instructions to load code are in our devwiki titled > DevelopmentBootstrapping_IAM - only a few dedicated users will be added > initially. > - > > Code is in smallhub and should become public, MIT, and possibly moved > to > Github. This is an immediate need! > - > > GemStone scripts to build new sites, maintenance etc are in gitlab - > again, we can start providing access selectively! > - > > We have only one server, running in Linode: > https://cloud.linode.com/linodes/866838/summary > > > > More info: > > Currently copyrighted to Debris Publishing, Inc. - This is changing to MIT > License. > > Quuve is intended to assist investors manage portfolios and perform > research. > > Quuve was built and deployed using tools from various sources. The > following firms, organizations, communities, and individuals have not > endorsed Quuve nor Debris, but we offer due credit whether they are aware > of us or not. Many thanks for/to... > > Development and deployment environments and platforms > > Pharo (c) Pharo.org <http://pharo.org/> Pharo is our development > platform, > language and environment. > > GemStone (c) GemTalk Systems <http://gemtalksystems.com/> We use > GemStone > system to deploy and run each Quuve site for production. In addition, > GemStone serves as our scalable object database. > Web frameworks > > Seaside Web Framework <http://seaside.st/> The web UI of Quuve is > built > using Seaside: a great web framework ideal for developing dynamic and > complex applications > > Twitter Bootstrap for Seaside > <http://smalltalkhub.com/#!/~TorstenBergmann/Bootstrap> Bootstrap is > very > nicely integrated in Seaside web framework and we use it for styling and > designing Quuve web components. > > Highcharts for Seaside > <http://smalltalkhub.com/#!/~Mercap/HighchartsSt> > All our web charts use Highcharts JS bindings for Seaside > > Magritte <https://github.com/magritte-metamodel/magritte> Magritte > provides > us a nice and small meta-description framework which allow us to build a > fully featured CRUD system. Most of Quuve forms and reports are > automatically generated from our CRUD framework build on top of Magritte. > Development tools and frameworks > > Fuel Serializer <http://rmod.inria.fr/web/software/Fuel> We use Fuel > to > save and load our development and testing databases when working in Pharo > platform > > SIXX Serializer > <http://www.mars.dti.ne.jp/~umejava/smalltalk/sixx/index.html'> SIXX > is > used to move small databases from GemStone to Pharo or vice-versa or > between different GemStone instances > > Metacello > <https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloUserGuide.md> > To manage software dependencies, releases, environment building, > deploying, > etc. we use Metacello > > Zinc and Zodiac HTTP Components <http://zn.stfx.eu/zn/index.html> > Both are > used as HTTP and HTTPS clients. In Addition, Zinc is used as the web > server > when using Seaside in Pharo > > Blowfish <http://smalltalkhub.com/mc/Cryptography/Cryptography/main> > We use > Blowfish as part of our encryption and decryption tools. > > XMLParser <http://smalltalkhub.com/mc/PharoExtras/XMLParser/main> We > also > need to parse and write XML in many places > Javascript Libraries > > JQuery and JQuery-UI <https://jquery.com/> Even if small, most of > our JS > development is using JQuery when possible. In addition, a couple of > components like autocompletion, popups, sortable lists, etc are used from > JQuery-UI > > TinyMCE <http://www.tinymce.com/> For nicely editing notes, > documents, etc. > we use the fully WYSIWYG editor TinyMCE > > Datatables <https://www.datatables.net/> To improve or HTML tables > and > reports we use Datatables. This allow us to have fixed header, fixed > columns and many many other features. > > CodeMirror <http://codemirror.net/> For scripting, editing > accounting and > computation rules, and many other places, we use CodeMirror to color > highlight code, autocomplete, etc. > Infrastructure > > CentOS Linux <https://www.centos.org/> All our guest/virtual > operating > systems are CentOS Linux, with latest stable release and security updates. > > Nginx <http://nginx.org/> Our web server for production purposes is > nginx. > > Monit <https://mmonit.com/monit/> We use monit to monitor all > processes, > being that Quuve ones or the ones we need from the Operating System. Monit > will, for example, automatically restart Quuve processes upon crashes. > > Fail2ban <http://www.fail2ban.org/> As part of our security efforts > we use > fail2ban to protect us from DOS attacks and from malicious user > > Firewalld <https://fedoraproject.org/wiki/FirewallD> We also use > firewalld > as out OS firewall -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html