113 lines
2.0 KiB
Markdown
113 lines
2.0 KiB
Markdown
# Develop
|
||
|
||
For now Docker is a primary way of working on the repo.
|
||
However dependencies are still needed to installed locally for
|
||
the IDE setup.
|
||
|
||
## Requirements:
|
||
|
||
Python: 3.12+
|
||
NodeJS: 18+
|
||
|
||
## Installation
|
||
|
||
1. Check if python 3.12 is installed in the system:
|
||
|
||
```sh
|
||
which python 3.12
|
||
```
|
||
|
||
If no path returned, follow [installation instructions](./FAQ.md#how-do-i-install-python-312-on-ubuntu-22)
|
||
|
||
2. Install `virtualenv` package if it's not installed.
|
||
|
||
```sh
|
||
pip install --user virtualenv
|
||
```
|
||
|
||
3. Create a virtual environment:
|
||
|
||
```sh
|
||
virtualenv python=3.12 venv
|
||
```
|
||
|
||
4. Activate the virtual environment.
|
||
|
||
```sh
|
||
# Windows ➞ venv\Scripts\activate
|
||
source venv/bin/activate
|
||
```
|
||
|
||
5. Install python packages.
|
||
|
||
```sh
|
||
pip install --requirement requirements.txt
|
||
```
|
||
|
||
6. Install `pre-commit` hooks.
|
||
|
||
```sh
|
||
pre-commit install --install-hooks
|
||
```
|
||
|
||
### Build
|
||
|
||
```sh
|
||
docker-compose build
|
||
docker-compose up --detach
|
||
```
|
||
|
||
In a browser, visit [`http://localhost:8000/`]
|
||
|
||
## Manual
|
||
|
||
1. Run the API dev server:
|
||
|
||
```sh
|
||
pytnon -m src web
|
||
```
|
||
2. Run frontend dev server:
|
||
|
||
```sh
|
||
python -m src webpack
|
||
```
|
||
|
||
## 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/
|