Skip to content
db0 edited this page Mar 22, 2015 · 31 revisions

Contribute

Our project is open-source and open for contributions. We would be more than happy to accept your pull-requests on GitHub.

The website has been made using Django, the facemash has been made using Pyramid, and the public API has been made using Django-Rest-Framework, so in Python. We also use LESS CSS, Bootstrap, JQuery and Bower for the front-end of the website.

If you wish to contribute but you don't know what to do, feel free to browse tasks that are ready to be implemented: Stories in Ready

Main contributors are db0 and Lamagicien.

School Idol Contest

Repository

SchoolIdolTomodachi/SchoolIdolContest

Contributors Guide

See School Idol Contest repo README

School Idol Tomodachi Website & API

Repository

SchoolIdolTomodachi/SchoolIdolAPI

Contributors Guide

Install the 1st time

# Install pre-requirements
apt-get install libpython-dev libffi-dev python-virtualenv libmysqlclient-dev nodejs

# Create a virtualenv to isolate the package dependencies locally
virtualenv env
source env/bin/activate

# Clone the repo
git clone git@github.com:db0company/SchoolIdolAPI.git
cd SchoolIdolAPI

# Install packages, no need to be root
pip install -r requirements.txt

# Create tables, initialize database
python manage.py migrate

# Fill database with cards
python manage.py importcards

# Compile localized messages
python manage.py compilemessages

# Download front-end dependencies
npm install -g bower lessc
bower install

# Compile LESS to CSS
lessc -x web/static/less/style.less web/static/css/style.less

Anytime

Reactivate the environment
source env/bin/activate
Launch the server
python manage.py runserver

If you want it to be externally visible, add an extra argument 0.0.0.0:8000.

No need to restart it to see your modifications, the server reloads itself automatically.

Whenever you change the models
python manage.py makemigrations
python manage.py migrate
Whenever you add messages that should be translated

Generate terms:

python manage.py makemessages -l ja --ignore=env/* --ignore=schoolidolapi/settings.py --ignore=api/models_languages.py

Then go to POEditor and import the tems. When the new terms are translated in all languages, generate the new files and put them in the repo. Either manually or using the POEditor integration.

Compile all languages

python manage.py compilemessages
Update the cards & events from the internet
python manage.py importcards

Extra command line arguments:

  • redownload will download the images for the cards, even when they already have been downloaded
  • delete will remove all information about cards and events in the database
  • local will consider you already have the *.html files with information at the root of the repo and will not download them from the internet (good for testing & development)
Fill the database with users' location

To show locations on the map at /map/ (http://schoolido.lu/map/)

python manage.py latlong

Extra command line arguments:

  • reload will force reload all the locations in the database, even the ones already in. This is not recommended since OpenStreetMap has service restrictions.
When you edit the style

Edit web/templates/base.html and uncomment the LESS lines + comment the CSS line.

Modify only the LESS files. To see the changes while changing the code, add #!watch at the end of the URL. Do not commit the CSS files nor the changes in base.html.

school idol tomodachi

List of features

School Idol Tomodachi Cards

School Idol Tomodachi Profile

School Idol Tomodachi Activities

School Idol Tomodachi Events

School Idol Festival, the game

Help us!

Developers

Clone this wiki locally