All Projects → bikeanjo → bikeanjo

bikeanjo / bikeanjo

Licence: GPL-3.0 License
Platform where you can get help to learn how to ride a bike and improve your cycling, route recommendations, commute together in traffic, tips and much more.

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
Less
1899 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to bikeanjo

knooppuntnet
Route planner and quality assurance for walking and cycling networks in OpenStreetMap.
Stars: ✭ 20 (+66.67%)
Mutual labels:  cycling
website
The sustainoss.org website
Stars: ✭ 23 (+91.67%)
Mutual labels:  sustainability
goat
This is the home of Geo Open Accessibility Tool (GOAT)
Stars: ✭ 50 (+316.67%)
Mutual labels:  cycling
urban-and-regional-planning-resources
Community list of data & technology resources concerning the built environment and communities. 🏙️🌳🚌🚦🗺️
Stars: ✭ 109 (+808.33%)
Mutual labels:  sustainability
cycling
🚴 My cycling trip from ShangHai to Wuhan in China.
Stars: ✭ 34 (+183.33%)
Mutual labels:  cycling
regen-ledger
Blockchain for planetary regeneration
Stars: ✭ 154 (+1183.33%)
Mutual labels:  sustainability
Gemello
No description or website provided.
Stars: ✭ 18 (+50%)
Mutual labels:  sustainability
carbon footprint
An open-source about a Carbon Footprint Calculator made with Reactjs. The objective is to have a nice simple web about the environment and how to preserve our planet.
Stars: ✭ 14 (+16.67%)
Mutual labels:  volunteering
UrbanXTools
Based on the design logic, UrbanXTools could generate urban design automatically in a very short period of time, and evaluated from the view of sustainability, with the help of algorithms. While gradually bridging the gap between urban design and sustainable systems, the toolbox could improve the efficiency of design.
Stars: ✭ 46 (+283.33%)
Mutual labels:  sustainability
ble-utilities-unreal
This is Unreal Engine plugin that allows to scan for BLE devices with Cycling Power service running, connect to one of them and subscribe for its notifications.
Stars: ✭ 48 (+300%)
Mutual labels:  cycling
workshop-sustainable-productivity
Workshop: the basics of stress, productivity, flow, focus, meditation and sustainability.
Stars: ✭ 20 (+66.67%)
Mutual labels:  sustainability
SimCycling
Use your bike and your home trainer as a controller in racing simulation games.
Stars: ✭ 28 (+133.33%)
Mutual labels:  cycling
zwift-workout-file-reference
Reference documentation for the Zwift workout file format
Stars: ✭ 54 (+350%)
Mutual labels:  cycling
environmental-footprint-data
Boavizta.org Data repository
Stars: ✭ 60 (+400%)
Mutual labels:  sustainability
awesome-sustainability-jobs
Dev jobs in the sustainability sector
Stars: ✭ 149 (+1141.67%)
Mutual labels:  sustainability
cloud-carbon-footprint
Cloud Carbon Footprint is a tool to estimate energy use (kilowatt-hours) and carbon emissions (metric tons CO2e) from public cloud usage
Stars: ✭ 510 (+4150%)
Mutual labels:  sustainability
CoronaTracker
A full stack framework to trace possible close-contact candidates within last specified days for an already detected covid-19 positive patient
Stars: ✭ 13 (+8.33%)
Mutual labels:  volunteering
sustainbench
sustainlab-group.github.io/sustainbench
Stars: ✭ 44 (+266.67%)
Mutual labels:  sustainability
vly1
v1 Voluntarily application - deprecated
Stars: ✭ 14 (+16.67%)
Mutual labels:  volunteering
Strava-Analysis-Tool
A Python tool to analyze and display Strava activity data.
Stars: ✭ 32 (+166.67%)
Mutual labels:  cycling

BikeAnjo

What is Bike Anjo?

It is a network of passionate cyclists that promotes, mobilizes and helps people getting started with cycling as a means of transportation in cities. We believe that cycling is a tool for social change and the more people ride, the better our cities will become!

In the platform you can get help to learn how to ride a bike and improve your cycling, route recommendations, commute together in traffic, tips and much more.

We analyze your request in our database and connect you to the nearest Bike Anjo volunteer to help you with your request.

bikeanjo.org

Development environment

The bikeanjo platform uses PostgreSQL with PostGIS extension. Also, it uses NPM and Bower to manage assets, so NodeJS is also needed to have a development environment.

It is recommended to use Virtualenv and virtualenv wrapper to manage isolate and Python2 dependencies.

The following README was written when setting up a development environment on Manjaro Linux. But packages described here are probably available in any debian based distribution also.

System requirements

The command below install system requirements on Manjaro Linux. Packages may have similar name on Debian and Ubuntu.

sudo pacman -S postgresql     \
    postgis                   \
    nodejs                    \
    python2-virtualenv        \
    python-virtualenvwrapper

The virtualenvwrapper is not activated right after installing, so it needs to be activated manually after activation.

source /usr/bin/virtualenvwrapper.sh 

Getting the code

Clone project and change current directory to it.

git clone [email protected]:bikeanjo/bikeanjo.git
cd bikeanjo

Setting up the database

  1. If it is first time running on Manjaro, create data folder
sudo -u postgres initdb --locale en_US.UTF-8 -D '/var/lib/postgres/data'
  1. Start database service
sudo systemctl start postgresql
  1. Create user and schema using a shortcut
ACCIDENT=no make resetdb

It creates:

  • An user named bikeanjo with password bikeanjo
  • A database schema named bikeanjo

Setting up the project

  1. Create Python2 Virtualenv
mkvirtualenv bikeanjo -p /usr/bin/python2
  1. Activate virtualenv if not activated
workon bikeanjo
  1. Install Python requirements
pip install -r requirements.txt
  1. Setup local variables
cat > .env <<'EOF'
DJANGO_DEBUG=True
DJANGO_DATABASE_URL=postgis://bikeanjo:bikeanjo@localhost/bikeanjo
EOF
  1. Load database initial data
./manage.py migrate
./manage.py sync_translation_fields --noinput                # First time only!
  1. Install assets compiling requirements
npm install
./node_modules/bower/bin/bower install
./node_modules/grunt-cli/bin/grunt all
  1. Create a superuser
./manage.py shell_plus <<'EOF'
user = User.objects.create_user('admin', email='[email protected]', password='admin')
user.is_superuser=True
user.is_staff=True
user.role='bikeanjo'
user.country_id=1
user.city_id=13416
user.gender='male'
user.accepted_agreement=True
user.first_name='Bikeanjo'
user.last_name='Admin'
user.save()
EOF
  1. Create a fake socialapp for django-allauth
./manage.py shell_plus <<'EOF'
app = SocialApp()
app.name='Facebook'
app.provider='facebook'
app.client_id='1234567890'
app.secret='1234567890'
app.save()
app.sites = Site.objects.all()
EOF

Troubleshoot

GEOSException: Could not parse version info string

Probably, libgeos was migrated to Git and Django 1.8.x used to detect libgeos SVN revision by using a very strict regular expression. As upgrading Django just to solve that problem may bring a lot of head aches, a little change on core file is needed. The patch below does it.

  1. Activate env
workon bikeanjo
  1. Figure out where is site-packages
SITE_PACKAGES=$(python -c 'from distutils.sysconfig import get_python_lib; print(get_python_lib())')
  1. Apply patch on django file
patch -d$SITE_PACKAGES -p0 <<'DIFF'
diff --git django/contrib/gis/geos/libgeos.py django/contrib/gis/geos/libgeos.py
@@ -130,7 +130,7 @@
 # '3.0.0rc4-CAPI-1.3.3', '3.0.0-CAPI-1.4.1', '3.4.0dev-CAPI-1.8.0' or '3.4.0dev-CAPI-1.8.0 r0'
 version_regex = re.compile(
     r'^(?P<version>(?P<major>\d+)\.(?P<minor>\d+)\.(?P<subminor>\d+))'
-    r'((rc(?P<release_candidate>\d+))|dev)?-CAPI-(?P<capi_version>\d+\.\d+\.\d+)( r\d+)?$'
+    r'((rc(?P<release_candidate>\d+))|dev)?-CAPI-(?P<capi_version>\d+\.\d+\.\d+)( \w+)?$'
 )
 
 
@@ -141,7 +141,7 @@
     is a release candidate (and what number release candidate), and the C API
     version.
     """
-    ver = geos_version().decode()
+    ver = geos_version().decode().strip()
     m = version_regex.match(ver)
     if not m:
         raise GEOSException('Could not parse version info string "%s"' % ver)

DIFF
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].