# Develop For now Docker is a primary way of working on the repo. ## Installation 1. Install `virtualenv` package if it's not installed. ```sh pip install --user virtualenv ``` 2. Create a virtual environment: ```sh virtualenv venv ``` 2. Activate the virtual environment. ```sh # Windows ➞ venv\Scripts\activate source venv/bin/activate ``` 3. Install python packages. ```sh pip install --requirement requirements.txt ``` 4. Install  `pre-commit`  hooks. ```sh pre-commit install --install-hooks ``` ### Database 1. Register an account. 2. Visit  [`http://localhost:5000/development`] 3. Click either seeded or random generation. _This will start a mock import process,_
_which will also populate the database._ ### Build ```sh docker-compose build docker-compose up --detach ``` In a browser, visit  [`http://localhost:8000/`] ## Manual > **TODO** : Write installation and setup instructions This assumes you have  `Python 3.8+`  &  `Node 12+`  installed
as well as a running **PostgreSQL** server with **Pgroonga**. ```sh # Make sure your database is initialized # cd to kemono directory pip install virtualenv virtualenv venv # Windows ➞ venv\Scripts\activate source venv/bin/activate pip install \ --requirement requirements.txt cd client \ && npm install \ && npm run build \ && cd .. ``` ## Git Configure `git` to store credentials: ```sh git config credential.helper store ``` After the next time creds are accepted, they will be saved on hard drive as per rules listed in `man git-credential-store`and won't be asked again. Alternatively they can be stored temporarily in memory: ```sh git config credential.helper cache ``` The creds are stored as per rules in `man git-credential-cache`. ## IDE _IDE specific instructions._ ### VSCode 1. Copy  `.code-workspace`  file. ```sh cp \ configs/workspace.code-workspace.example \ kemono-2.code-workspace ``` 2. Install the recommended extensions. [`http://localhost:5000/development`]: http://localhost:5000/development [`http://localhost:5000/`]: http://localhost:5000/ [`http://localhost:8000/`]: http://localhost:8000/