Compare commits

...

2 Commits

5
.gitignore vendored

@ -124,3 +124,8 @@ docker/test/db
docker/development/media
docker/production/media
docker/test/media
# MacOS
.DS_Store
.AppleDouble
.LSOverride

@ -7,6 +7,10 @@ JDAV to send newsletters, manage user lists and keep material lists up to date.
As this repository is also meant to be a base for exchange during development, feel free
to contribute ideas in form of edits to this README, issues, landmarks, projects, wiki entries, ...
# Documentation
The first raw version of the documentation can be found in [. > documentation > README.md](./documentation/README.md).
# Docker
In the `docker` subfolder, there are `docker-compose.yaml`s for development and production use. For the development
@ -23,8 +27,57 @@ docker.env files.
The following can be useful in case that automatic migrations throw errors.
1. delete everything in the migrations folder except for __init__.py.
2. drop into my MySQL console and do: DELETE FROM django_migrations WHERE app='my_app'
1. delete everything in the migrations folder except for `__init__.py`.
2. drop into my MySQL console and do: `DELETE FROM django_migrations WHERE app='my_app'``
3. while at the MySQL console, drop all of the tables associated with my_app.
4. re-run ./manage.py makemigrations my_app - this generates a 0001_initial.py file in my migrations folder.
5. run ./manage migrate my_app - I expect this command to re-build all my tables, but instead it says: "No migrations to apply."
4. re-run `./manage.py makemigrations my_app` - this generates a 0001_initial.py file in my migrations folder.
5. run `./manage migrate my_app` - I expect this command to re-build all my tables, but instead it says: "No migrations to apply."
# Development Notes
## Information
- default user as defined in step 3 [Development Setup > docker](#docker)
## Development Setup
### docker
```bash
# 1. Clone repository (see above)
# 1.2 Load Submodules
git submodule update --init
# 2. Install dependencies (docker, docker compose)
# 3. Create default (super)user
docker compose exec master bash -c "cd jdav_web && python3 manage.py createsuperuser"
# 4. Setup development environment
export GID=${GID}
export UID=${UID}
# 5. Start docker compose
cd docker/development
docker compose up -d
```
Description:
- to 2.: The docker container should habe the same Userrights as the developing machine
### Known Issues
- When excuting `docker compose up -d` from development [docker-compose.yaml](docker/development/docker-compose.yaml)
```bash
=> ERROR [master 6/7] RUN groupadd -g kasimir && useradd -g -u -m -d /app kasimir 0.2s
------
> [master 6/7] RUN groupadd -g kasimir && useradd -g -u -m -d /app kasimir:
0.141 groupadd: invalid group ID 'kasimir'
------
failed to solve: process "/bin/sh -c groupadd -g $GID $USER && useradd -g $GID -u $UID -m -d /app $USER" did not complete successfully: exit code: 3
```
- This error gets raised if step 2 [Development Setup > docker](#docker) is skipped

@ -0,0 +1,38 @@
Stand: 12.11.2023
# Technical ocumentation -- jdav kompass
Until this point there was no documentation, so everything added is by someone who hasn't coded in this project at all and doesn't no anything about the project. But at least a documentation exists now.
## About
The **jdav kompass** is an modular internal management platform providing tools for member-, material-, mail- and financemanagement. It has its source in jdav Ludwigsburg and has a enhanced second version for jdav heideleberg.
## Technical Base
- Python 3.9
- Django 4.0.1
## Documentation Roadmap
- [ ] Add applications (/modules) overview
- [ ] Create datmodel in draw.io
- [ ]
## Ideas by Kasimir
Loose collection of smaller and bigger enhancements that came to my mind.
- [ ] Write documentatione ;)
- [ ] Restructure the sidebar menu (make it more intuitive)
- [ ] Create a Dashboard as startpage instead of the module list
- [ ] Material manager
- [ ] Update structure so that every item is an own data entry (remove the count attribute) (needed for PSA log)
- [ ] Add Attribute for unique ID to each item (needed for PSA log)
- [ ] Add an more extensive PSA log
- [ ] User Help
- [ ] Add tooltips with helptexts
- [ ] More Modules
- [ ] Add a Newsletter Module (supporting mjml)
Loading…
Cancel
Save