LaPrimaire.org — LaPrimaire.org Web App
LaPrimaire.org aims at crowdsourcing the next french President through the first open democratic primary:
- Democratic because anybody can be a candidate
- Open because the primary in itself does not defend any ideology and is open to all ideas that comply to the law
Obviously, due to the scale of the primary, it can only happen online and this is why we developed a Telegram bot to guide participating citizens through the primary. As we created a Telegram bot, we could just have asked participating citizens to download, install Telegram and then contact our bot but, given that a lot of citizens are not computer savvy at all (to say the least) we though it might be a good idea not to confuse them by having to explain to them what Telegram is.
This is why we decided to make a mini-fork of Telegram Web App. What's a mini-fork ? It is a fork that only bring cosmetic changes and will never diverge a lot from the upstream Telegram Web App. Our goal was not to add or remove features from Telegram Web App but to provide citizens with a more natural and straightforward on-boarding flow to the Telegram bot.
About Webogram — Telegram Web App
Telegram offers great apps for mobile communication. It is based on the MTProto protocol and has an Open API. I personally like Telegram for its speed and cloud-support (that makes a web app possible, unlike in the case of WA and others).
MTProto data can be carried over HTTP (SSL is also supported), so this project is my take at creating one.
That said, I'm using this app myself and I'd like to share its sources, so anyone can contribute to the development. Any help is welcome!
- Secret chats
- Black list
- ...
Description | URL | Type |
---|---|---|
Online Web-version (hosted on democratech web server) | https://web.laprimaire.org/ | hosted |
Hosted version: the app is downloaded via HTTPS as a usual website. Will be available offline due to application cache.
Packed version: the app is downloaded at once in a package via HTTPS. The package is updated less frequently than the Web-version.
All of the apps above are submitted and maintained by @zhukov, so feel free to use them and report bugs here. Please do not report bugs which are only reproducible in different locations.
The app is based on the AngularJS JavaScript framework, and written in pure JavaScript. jQuery is used for DOM manipulations, and Bootstrap as the CSS-framework.
The project repository is based on angularjs-seed and includes gulp tasks, so it's easy to launch the app locally on your desktop. Install node.js and run the following commands in the project directory
sudo npm install -g gulp
npm install
This will install all the needed dependencies.
Just run gulp watch
to start the web server and the livereload task.
Open http://localhost:8000/app/index.html in your browser.
To run this application in Google Chrome as a packaged app, open this URL (in Chrome): chrome://extensions/
, then tick "Developer mode" and press "Load unpacked extension...". Select the downloaded app
folder and Webogram should appear in the list.
Run gulp watch
to watch for file changes and automatically rebuild the app.
To run this application in Firefox as a packaged app, open "Menu" -> "Developer" -> "WebIDE" (or hit Shift + F8
). Choose "Open packaged app" from the Project menu and select the app
folder.
Run gulp watch
to watch for file changes and automatically rebuild the app.
Besides the frameworks mentioned above, other libraries are used for protocol and UI needs. Here is the short list:
Many thanks to all these libraries' authors and contributors. A detailed list with descriptions and licenses is available here.
The source code is licensed under GPL v3. License is available here.