2021-03-17 14:41:20 +00:00
|
|
|
# startinblox-startinoff
|
|
|
|
|
2021-06-02 12:26:56 +00:00
|
|
|
## 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 🏗
|
|
|
|
|
2021-03-17 14:41:20 +00:00
|
|
|
`djangoldp` is a Django app which you plug into a Django project. So, if you're
|
2021-06-02 12:26:56 +00:00
|
|
|
hacking on `djangoldp` or related apps, then you need a Django project to test it.
|
|
|
|
|
|
|
|
When you follow this [setup
|
2021-03-17 14:41:20 +00:00
|
|
|
guide](https://git.startinblox.com/djangoldp-packages/djangoldp#setup-a-djangoldp-server),
|
2021-03-17 14:43:24 +00:00
|
|
|
you get asked to run `djangoldp initserver myldpserver` (where I changed
|
|
|
|
`myldpserver` to `startinblox-startinoff`) and what spits out is what you also
|
2021-06-02 12:26:56 +00:00
|
|
|
see in this repository but with a working `settings.yml` file.
|
2021-03-17 14:41:20 +00:00
|
|
|
|
|
|
|
```
|
2021-06-02 12:26:56 +00:00
|
|
|
user@machine:/path/to/startinblox$ tree -L 1
|
2021-03-17 14:41:20 +00:00
|
|
|
.
|
2021-06-02 12:26:56 +00:00
|
|
|
├── djangoldp
|
2021-03-17 14:41:20 +00:00
|
|
|
└── startinblox-startinoff (run ./manage.py commands here which uses your djangoldp code)
|
|
|
|
|
|
|
|
2 directories, 0 files
|
|
|
|
```
|
2021-06-02 12:26:56 +00:00
|
|
|
|
|
|
|
## 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
|
|
|
|
|