# startinblox-startinoff ## Quick-start: Gettin' started with Startin'blox 1. Sign up for an account on https://git.startinblox.com 2. Add your SSH key here: https://git.startinblox.com/profile/keys 3. Create a project folder, I'll use `export PROJECT_FOLDER=~/Projects/Autonomic/StartinBlox/` -- all subsequent steps are run from `$PROJECT_FOLDER` 4. (Optional) Create a Python virtual environment using your preferred method, or e.g. ``` $ python3 -m venv $PROJECT_FOLDER/venv $ source $PROJECT_FOLDER/venv/bin/activate ``` 5. Check out the `djangoldp` code: ``` $ git clone git@git.startinblox.com:djangoldp-packages/djangoldp.git ``` and install it: ``` $ cd $PROJECT_FOLDER/djangoldp $ pip install -e . $ pip install psycopg2 pycryptodomex # is this still needed? ``` 6. Check out this very repository: ``` $ git clone https://git.autonomic.zone/decentral1se/startinblox-startinoff ``` 7. Install dependencies: ``` $ djangoldp install ``` 8. Run database migrations: ``` $ python manage.py migrate ``` 9. Launch the development server: ``` $ python manage.py runserver $ # Or, alternatively: $ djangoldp runserver ``` ## Quick start 2: this time, it's Hubl! ## Architecture 🏗 `djangoldp` is a Django app which you plug into a Django project. So, if you're hacking on `djangoldp` or related apps, then you need a Django project to test it. When you follow this [setup guide](https://git.startinblox.com/djangoldp-packages/djangoldp#setup-a-djangoldp-server), you get asked to run `djangoldp initserver myldpserver` (where I changed `myldpserver` to `startinblox-startinoff`) and what spits out is what you also see in this repository but with a working `settings.yml` file. ``` user@machine:/path/to/startinblox$ tree -L 1 . ├── djangoldp └── startinblox-startinoff (run ./manage.py commands here which uses your djangoldp code) 2 directories, 0 files ``` ## Using Postgres instead of SQLite In the early days, we were using PostgreSQL, and we may yet need to return to its warm embrace. To do so: 1. Install and start Postgres - Mac OSX: https://www.postgresql.org/download/macosx/, or `brew install postgresql`, then `brew services start postgresql` - Fedora: `dnf install postgresql-server && sudo systemctl enable postgresql.service && sudo systemctl start postgresql.service` 2. Create a user and a database: ``` $ createuser djangoldp $ createdb -O djangoldp djangoldp ``` (you may need `sudo -u postgres` or `-U postgres` on both of these commands, depending on your local security set-up) 3. Edit `settings.yml` if you need to remove the postgres user or change the password ## Troubleshooting / top tips * Remember to activate your virtual environment, if you're using one, before running any Python / `manage.py` / `djangoldp` commands