initial README and docs taken over and adapted from membersteward-repo

This commit is contained in:
Gulliver 2021-05-28 22:20:20 +02:00
commit 25daa7a93c
10 changed files with 569 additions and 0 deletions

192
.gitignore vendored Normal file
View File

@ -0,0 +1,192 @@
# ---> Python
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# ---> Emacs
# -*- mode: gitignore; -*-
*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*
# Org-mode
.org-id-locations
*_archive
# flymake-mode
*_flymake.*
# eshell files
/eshell/history
/eshell/lastdir
# elpa packages
/elpa/
# reftex files
*.rel
# AUCTeX auto folder
/auto/
# cask packages
.cask/
dist/
# Flycheck
flycheck_*.el
# server auth directory
/server/
# projectiles files
.projectile
# directory configuration
.dir-locals.el
# network security
/network-security.data
.DS_Store

6
Makefile Normal file
View File

@ -0,0 +1,6 @@
export LC_ALL="de_DE.UTF-8"
.PHONY: doc
doc:
$(MAKE) -C doc singlehtml

62
README.md Normal file
View File

@ -0,0 +1,62 @@
# Kompetenzinventar
Dieses Repo enthält die Dokumentation des Projekts
Kompentenzinventar - einer Webapplkation zur Erfassung von
Userprofilen für die WTF eG.
In diesem Repo werden ausserdem die Issues des gesamten
Kompentenzinventar-Projektes gesammelt.
Es existiert ein Repo für den Frontend- und einse für den
Backend-Code.
## Features ##
## Contents
- [Features](#features)
- [Building](#building)
- [Contributing](#contributing)
## Building
<!-- ROADMAP -->
## Roadmap
See the [open issues](https://github.com/github_username/repo_name/issues) for a list of proposed features (and known issues).
<!-- CONTRIBUTING -->
## Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.
1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
<!-- LICENSE -->
## License
Distributed under the ??? License. See `LICENSE` for more information.
<!-- CONTACT -->
## Contact
Your Name - [@twitter_handle](https://twitter.com/twitter_handle) - email
Project Link: [https://github.com/github_username/repo_name](https://github.com/github_username/repo_name)
<!-- ACKNOWLEDGEMENTS -->
## Acknowledgements
* []()
* []()
* []()

20
doc/Makefile Normal file
View File

@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

View File

@ -0,0 +1,98 @@
@startuml
' hide the spot
hide circle
' avoid problems with angled crows feet
skinparam linetype ortho
entity "user" as user {
*user_id : number <<generated>>
--
*nickname : text
*pronouns : text
*address_1_name: text
*address_2_additional: text
*address_4_street: text
*adress_house_number: text
*adress_city_code: text
*adress_country: text
*Ehrenaemter: text
*gravatar_email : text
*Freitext: text
}
entity user_skill {
user_id: id
skill_id: id
--
level: number
}
entity user_language {
user_id: id
language_id: id
--
level: number
}
entity skill {
skill_id
--
*name: text
}
entity user_experience {
user_id
--
description
start: date
end: date
}
entity user_search_topic {
user_id
topic_id
}
entity user_contact {
user_id
contact_type_id
--
content_: text
}
entity topic {
topic_id
--
*name: text
}
entity language {
id
--
name: text
}
entity experience {
id
--
name: text
}
entity contact_types {
id
--
name
}
user ||--o{ user_skill : user_has_skills
user_skill ||-o{ skill
user ||--o{ user_experience : user_has_experience
user_experience ||-o{ experience : user_experience_is_tagged_with
user ||-o{ user_language : user_speaks_language
user_language||-{ language
user ||-o{ user_search_topic
user_search_topic ||-o{ topic
@enduml

View File

@ -0,0 +1,52 @@
Architecture
############
Systembeschreibung
==================
Die Kompentenzinventar-Software dient zur:
- Eintragung und Speicherung von Nutzerprofilen
- Suche nach Nutzerprofilen mit geeigneten Erfahrungen
Kompetenzinventar - Anforderungen
*********************************
- Kompetenz Verwaltung aller WTF Member (aktuell ca. 150) Tendenz stark wachsen
- Einfache Verwaltung eigener Kompetenzen, Business Wünsche
- Einfache Suche von Fähigkeiten
- Netzwerk
- Nur für Interne Verwendung
- xing aber intern
- Auf der Seite müssen SKills, Erfahrungen und Projektwünsche skizziert werden können
- Z.b. Scammo, Flensburg, Kann: Javascript, Vue, Projekte, PHP, Events Sucht: Projekte als Freelancer 8-40H; Spricht Deutsch und English;
- Muss einfach für die Member erreichbar sein; Primär die Pflege der Daten
- Sollte auch Member abholen, die nicht so viel Zeit bei der WTF
verbringen
Technisch
---------
- Muss WTF gehostet sein
- Bus Faktor aka Es darf nicht alles von einen Menschen abhängig machen
- Möglichst Resourcen Schonend in Entwicklung und Betrieb
Systemkontext
=============
.. uml:: systemcontext.plantuml.txt
Use cases
=========
Nutzerprofilverwaltung
**********************
Suche nach Mitgliedern
**********************
Datenmodell
===========
.. uml:: erdmodel.plantuml.txt

View File

@ -0,0 +1,12 @@
@startuml
() "REST Api" as api
node ki
node openldap
node smtp
api -- [ki]
ki --> openldap: openldap provides user authentification
ki --> smtp: send mails to users
@enduml

63
doc/source/conf.py Normal file
View File

@ -0,0 +1,63 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
# -- Project information -----------------------------------------------------
project = 'kompetenzinventar'
copyright = '2021, diverse'
author = 'diverse'
# The full version, including alpha/beta/rc tags
release = '0.1'
# -- General configuration ---------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinxcontrib.plantuml',
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = 'de en'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = []
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'alabaster'
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']

22
doc/source/index.rst Normal file
View File

@ -0,0 +1,22 @@
.. Kompentenzinventar documentation master file, created by
sphinx-quickstart on Thu Apr 29 23:32:19 2021.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Kompentenzinventar Entwickungsdokumentation
===========================================
.. toctree::
:maxdepth: 3
:caption: Contents:
architecture/overview
journal/journal
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

View File

@ -0,0 +1,42 @@
Journal
#######
2021-05-28 KI Onboarding Planung
================================
weeman brachte den Link ein: https://it.notchdelta.com/fragen#/was-suchst-du
zu erfassende Daten
*******************
- Nickname
- Pronomen
- Wohnort
- Ehrenämter (Freitext)
- Email für Gravatar Bild
- Freitext
- Kenntnisse inkl. 1 - 3 Sternen, z.B. PHP `***`
- Qualifikationen, z.B. Studium, Ausbildung oder Zertifikate
- “Ich suche”, z.B. “Software Entwicklung”, “Projekt-Management”, Vollzeit, Teilzeit, stundenweise
- Einsatzort (vor Ort und oder Remote)
- Sprache
- Auflistung bisheriger Projekte
- Titel
- Link
- Freitext
- Kontaktmöglichleiten
- E-Mail
- Matrix
- GSM
- Freitext
Techstack
*********
- Frontend vue.js
- Python für Restfull/json $framework
- Datenbank: Production: Postgres; Development: SQLlite
- separate Repositories für Front- und Backend
- ki-doku repository ist für Dokumentation und Verwaltung der Issues