Welcome to the Sugar Labs Social codebase. We are so excited to have you. With your help, we can build out Sugar Labs Social to be more stable and better.
A Platform for sugar users/instructors/developers/teachers/parents to explore/discuss/share about Projects/softwares/activities/blogs/posts related to Sugar Labs|OLPC ❤️
We expect contributors to abide by our underlying code of conduct. All conversations and discussions on GitHub (issues, pull requests) and across Sugar Labs Social must be respectful and harassment-free.
Refactoring code, e.g. improving the code without modifying the behavior is an area that can probably be done based on intuition and may not require much communication to be merged.
Fixing bugs is the most sensitive area to work . bugs are magnets for other bugs.
Improving UI/UX i.e Responsiveness across diffrent width of devices.
Building features is the area which will require the most communication and/or negotiation. Every feature is subjective and open for debate.
Documentation is also a important area to work on.
- Fork the project & clone locally. Follow the initial setup here .
- Create a branch, naming it either a feature or bug:
git checkout -b feature/that-new-feature
orbug/fixing-that-bug
- Code and commit your changes. Bonus points if you write a good commit message:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature/that-new-feature
- Create a pull request for your branch 🎉
- clone the project in your local computer
$ git clone https://github.com/sugarlabs/social.git
- python3
- python3-pip
- virtualenvwrapper
- postgresql
- postgresql-contrib
- python-dev
- libpq-dev
$ sudo apt-get update
$ sudo apt-get install python3 python3-pip virtualenvwrapper python-dev libpq-dev postgresql postgresql-contrib
keep the value of database name, username and password same, else change the config respectively of settings.py in Project_SLS dir.
$ sudo service postgresql start
$ sudo su - postgres
or
$ sudo -u postgres -i
You should now be in a shell session for the postgres user. Log into a Postgres session by typing:
psql
creating the database
CREATE DATABASE database;
Remember to end all commands at an SQL prompt with a semicolon.
create the user with password
CREATE USER username WITH PASSWORD 'password';
one more step
GRANT ALL PRIVILEGES ON DATABASE database TO username;
exit the shell
\q
exit
- move to the cloned project directory
$ virtualenv -p /usr/bin/python3 env
activate the virtualenv
$ source env/bin/activate
you should see (env) in the begining, something like this.
(env) avinash@engine:/media/avinash/raw/development/SugarLabs_Social$
$ cd Project_DIR
$ pip install -r requirements.txt
$ python manage.py makemigrations
if any prompt choose option 2
$ python manage.py migrate
ignore some errors
$ python manage.py runserver
you will see something like This
Performing system checks...
System check identified no issues (0 silenced).
June 07, 2018 - 11:12:23
Django version 1.11.13, using settings 'Project_SLS.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Redirect at the link shown.
use ctrl+c to stop the server and execute other command whenever needed.
Populate the data using admin panel
$ python manage.py createsuperuser
Fill the data asked in prompt
run the server again
$ python manage.py runserver
redirect to http://127.0.0.1:8000/admin.
Login using the data you provided during creation of super user.
populate some data of custom tags, Projects, softwares, activities.
other data can be populated using the main app itself.