CivilHub is a free and open-source platform written in Python & Django for the purpose of collaboration in local civic communities.
Our biggest dream is to build a tool that helps us to collaborate and communicate in places we live in. In our opinion, citizens need a platform that will help them transform democracy and civil power onto a next level.
We believe that together we can create amazing things in our cities. Brief: https://civilhub.org/brief/
CivilHub’s mission is to engage all citizens in improving the countries, cities and all places they live in.
- Places - each country, town, district and housing can have their own place that allows people to collaborate.
- Ideas - users can propose what should be improved in our environment, law, and community.
- Everyone can vote for ideas. Vote Yes or No,
- Anyone can check who vote Yes and who No,
- You can add photos, and use a rich-text editor to create content,
- News - a simple and powerful way to inform users what happend in our community,
- Discussions - a multithreaded forum for places, has categories and tags.
- Polls - users can create polls for people in Places. All answers and statistics are public
- Projects - one of most the most important part of our platform. I bielieve that Ideas on their own can't change the World. We have created a tool that allows to transform ideas into local civil projects. Users can create and divade tasks, to bring the project to alive. All of this was made in order to implement our ideas into life.
- Map - all content types can be marked on a map. You can see all the initiatives, discussions, projects and locations in a fully interactive map. Due to limitations in Google Maps (not a good solution for Clustering and displaying more than 100 thousand points on a map). We had to write our own solutions.
- We used the Open Street Map - Taile are currently downloaded from Mapbox, in the future we will possibly implement our own server with map tails,
- PostGIS for PostgreSQL database,
- Our overlay clustering, server-side filtering displays only those points that you currently see on the screen.
- Comments - Disqus was our inspiration, the best comments that exist. You can comment on all of the portal’s content,
- User profiles - You can see all user activities and all users in the location you belong to.
- Login and registration via Facebook, Twitter, LinkedIn and Google+
- Messages between users - a simple system for communication between users, with anti spam security,
- Categories - all content can be categorized,
- Tags - all content in the portal can be tagged,
- Bookmarks - all types of content can be bookmarked and later on accessed,
- Filter and sort - all content type,
- Search - the ability to search through all available in the portal content is possible through Xapian & Haystack,
- Redis cache - for each language version we cache most of the content through Redis,
- Mail - we have created a simple and automatic, cyclic system that allows to send emails with information to users about locations they are currently following,
- Invite friends - from Google+ contacts,
- Multilingualism - both the whole structure of the portal and the database models can be translated. Please help us translate CivilHub to Your language. portal: https://www.transifex.com/projects/p/civilhub/
- REST API - Access to all data stored in https://civilhub.org
We are a group of young people, living in Warsaw (Poland) who want to live in a better country and city. In our opinion, citizens should take responsibility for how our country, the region looks.
Grzegorz Warzecha - https://www.facebook.com/gwarzecha or [email protected]
Apps to install with apt-get install (on Debian-based distros):
python-dev
virtualenvwrapper
postgresql-server-dev-all
libicu-dev
libjpeg-dev
libfreetype6-dev
build-essential
git
gettext
python-geoip
libxapian-dev
python-xapian
binutils
libproj-dev
gdal-bin
nodejs
nodejs-legacy
npm
python-xapian
you can install from different sources. You must symlink to virtualenv folder.
You do not have to use builds, nodejs
, nodejs-legacy
, npm
, virtualenv
.
App python packages install: pip install -r requirements
Multirequire ./manage.py build
. Build and compress less
and js
.
Options:
-m <module_name> Module name to compress, np. idea-detail
.
--css-only compress only less
files
To rebuild you need two packages:
npm install -g less
npm install -g requirejs