Source-available, non-commercial licence (attribution + copyleft) at the repo root as LICENSE, with the year/name filled in, ASCII punctuation, a termination-on-breach clause with a 30-day cure, and a clearer 'no licence' wording in section 0. README gains a Licence section.
47 lines
1.2 KiB
Markdown
47 lines
1.2 KiB
Markdown
# J621
|
|
|
|
Self-hosted media library and e621 archive manager, rebuilt as a **React SPA + Django REST API**.
|
|
|
|
## Structure
|
|
|
|
```
|
|
backend/ Django 6 + DRF API (SQLite in dev, MariaDB in production)
|
|
frontend/ Vite + React + TypeScript SPA
|
|
```
|
|
|
|
## Development
|
|
|
|
### Backend
|
|
|
|
```bash
|
|
cd backend
|
|
source venv/bin/activate
|
|
python manage.py migrate
|
|
python manage.py scan_files # index the watched folder
|
|
python manage.py runserver
|
|
```
|
|
|
|
Copy `.env.example` to `.env` and set `WATCHED_FOLDER` before scanning.
|
|
|
|
### Frontend
|
|
|
|
```bash
|
|
cd frontend
|
|
npm install
|
|
npm run dev # http://localhost:5173, proxies /api to :8000
|
|
```
|
|
|
|
### Production
|
|
|
|
Not wired up yet — planned: Nginx serving the SPA build, `/media` and `/library` media
|
|
directly, and proxying `/api` to Waitress/Django. See `frontend/` design docs for the UI
|
|
specification.
|
|
|
|
## Licence
|
|
|
|
Source-available, **non-commercial**: personal and other non-commercial use is
|
|
welcome under the [Jake Labs Non-Commercial Software Licence](LICENSE), which
|
|
requires attribution and keeps derivative works under the same licence.
|
|
Commercial use is not permitted. Third-party dependencies keep their own
|
|
licences (all permissive: MIT, BSD, Apache-2.0, ISC).
|