PHP web application using JQuery Mobile that publishes a list of ordered items. Each item has an image and trivia associated with it.
Item lists are organised as themes. The application looks for an environment variable known as SELECTOR to set the theme. The default theme is SELECTOR="pets" using images supplied by my work colleagues. Other themes include "cats" and "cities". By default, item image content is sourced from the local data directory. If the environment variable SERVICE is set, the application will look for REST service at the IP address for item meta data. MySQL database meta data is also supported, look at include/selector.php for necessary settings.
A sample running application is hosted on OpenShift Online V2.
http://www.cotd.net.au
The application is used to support the OpenShift MiniLabs series. Look here for example usage of this application.
http://StefanoPicozzi.blog
Lists can be customed by editing the include/selector.php to point to set the theme of interest. Edit the data/$theme.php file populate the data for that $theme. Add images to the data/images/$theme subdirectory with names matching list items.
Whenever the user rates an item, an entry is written to the php log. These entries can be filtered and then used to test hypotheses regarding user engagement. An example entry is as follows:
[Sun Sep 25 09:14:40.037909 2016] [:error] [pid 15] [client 172.17.0.1:46572] <COTD> { "user" : "e299ra835usa88pp19sr25ipg6", items" : [ {"adelaide" : "1"}, {"canberra" : "3"}, ] , "client_ip" : "172.17.0.1", "sydney_time" : "2016:09:25 19:14:40", } </COTD>, referer: http://localhost:8080/item.php?nextpage=canberra
To experiment with an A/B deployment scenario, follow the instructions in the blog entry at: https://blog.emergile.com/2016/10/07/ab-deployments-made-easy-with-openshift/
$ docker pull spicozzi/cotd
$ docker run -d -i -p 8080:80 spicozzi/cotd
Browser http://localhost:8080
oc new-project cotd --display-name="City of the day" --description='City of the day'
oc new-app openshift/php:5.6~https://github.com/<repo>/cotd.git
oc expose svc cotd
Edit the buildconfig:
-- change from Git to binary
source:
type: Git
git:
uri: 'https://github.com/eformat/cotd.git'
secrets: null
-- to this
source:
type: Binary
-- then build with
oc start-build --from-dir=. cotd
You may also wish to enable live reload for php image (don't do this in prod)
oc set env dc/cotd OPCACHE_REVALIDATE_FREQ=0
For now:
./parseCotdLogs.pl $(oc get pods | grep cotd | grep Running | awk '{print $1}')
cotd's People
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.