Code Monkey home page Code Monkey logo

habidat-direktkredit's People

Contributors

nanu-c avatar soudis avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

habidat-direktkredit's Issues

Create yearely interest payback function

  • show contracts with interest_payment_type yearly
  • calculate intrerest to given date
  • export to xls
  • bulk transaction creation including email notification of users

event-stream 3.3.6 not available

npm install fails. I do not know node and npm, but I assumed it locked down (package-lock.json) a version that was removed or never existed:

"resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.6.tgz",

https://www.npmjs.com/package/event-stream lists 3.3.5 as latest version in the 3-branch.

Manually changing the relevant strings (to 3.3.5) and removing the integrity-line from package-lock.json) did do the trick for me, but I doubt that thats the magic node-spell that is usually done.

Secure passwords and add password self service

Secure passwords and add password self service for loan givers:

  • allow to login via e-mail (make e-mail unique)
  • send password links via mail via button
  • adjustable e-mail template
  • forgot password function

Possibly:

  • add function to add qr codes for password links to office documents

Docker-compose setup is not working properly

I would expect to follow the instruction on the README.md to start a working docker-compose environment. But it seems that the docker build process is somehow unfinished. Here some examples to point this out:

  • db:
    • container uses mysql commands and is described as mysql but actually uses mariadb with mysql dialect
    • healthcheck of mariadb container isn't working therefore web-container does not start
    • maridb image is not fixed to a specific version (might break if mariadb has API changes)
    • env vars in compose-files are hard to encrypt on deployment
  • web:
    • web image is not fixed to a specific version nether is the prebuild version somewhere near current state in git
    • env vars in compose-files are hard to encrypt on deployment
    • depends_on isn't working properly
  • docker-entrypoint.sh
    • entrypoint uses envsubst to generate config.json and project.sample.json, but this isn't programmed finished atm

Import function

Develop data import function via csv or xls:

  • validate data
  • data preview for user to verify including sums to verify

Interest Calculator

make a widget to calculate interest for a specific contract including a field to input a date to calculate to (maybe with sliders for day, month, year)

Internationalize strings

  • Internationalize strings in preparation for making them adjustable.
  • Add language field for load givers

Project administration

Add project administration feature:

  • separate user base for super-admins
  • page to create / edit / delete projects

Prettify loan details page

prettify loan detail page:

  • group loan fields
  • show interest per year (for all years) as payments
  • add saldo for payments including interests
  • show interest method and explaination

Account export function => XLS

change the export function for account from CSV to XLS and update the types to distinguish between initial balance and end balance

[optional]: add sums page

Enhance project overview page

  • Update layout of project overview page to auto-size logos
  • Make projects selectable by direct link (e.g. domain.com/p/project-name), maybe think of a way to get rid of the "/p/".

Separate field for accountnotificaiton receival

some users may not want to use the platform and rather want to get the account notification by e-mail or snail-mail. An indicator per contract is needed to have an overview.

Additionally there could be an option to send the account notification per email to everyone who wants it that way

No Login (local & LDAP) possible after new installation

Do you want to request a feature or report a bug/Issue?

Bug/ Issue

What did you do?
Updating the config files to the new Format, I could not log in to the System with the local Admin Account or existing LDAP Accounts, with a fresh & clean instance.

What did you expect to see?
Login with Admin Account from Variables HABIDAT_DK_ADMIN_USERNAME & HABIDAT_DK_ADMIN_PASSWORD. Also the Login with existing LDAP Accounts.

What did you see instead?

Fehler! Benutzer nicht gefunden,Benutzer nicht gefunden

the User Table in mysql was empty so i assume the user is not generated while startup. After creating the User by Hand Login is possible as local Admin, still not working for LDAP. Even when LDAP Account ist created via Admin Panel.

Log from Direktkredit App:
2020-07-01 07:52:02 AUTH-FAIL: URL: /login, USER: TEST, CLIENT IP: XXX.XXX.XXX.XXX, ::ffff:172.XXX.XXX.XXX - - [01/Jul/2020:07:52:36 +0000] "GET /login HTTP/1.1" 200 4810, ::ffff:172.XXX.XXX.XXX - - [01/Jul/2020:07:52:36 +0000] "GET / HTTP/1.1" 302 56, ::ffff:172.XXX.XXX.XXX - - [01/Jul/2020:07:52:36 +0000] "POST /login HTTP/1.1" 302 46, [sass] skip: / nothing to do, [sass] skip: /login nothing to do

Log fom OpenLDAP:
5efc40c4 <= mdb_equality_candidates: (cn) not indexed ,5efc40c4 conn=1238 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text= ,5efc40c4 conn=1239 op=0 BIND dn="cn=TEST,ou=project,ou=users,dc=domain,dc=org" method=128 ,5efc40c4 conn=1239 op=0 BIND dn="cn=TEST,ou=project,ou=users,dc=domain,dc=org" mech=SIMPLE ssf=0 ,5efc40c4 conn=1239 op=0 RESULT tag=97 err=0 text= ,5efc40c4 conn=1238 op=2 UNBIND ,5efc40c4 conn=1238 fd=12 closed
**What is your environment & configuration **
docker-compose:
`db:
container_name: db
environment:
MYSQL_DATABASE: direktkredit
MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: secret
MYSQL_USER: db-dk
TZ: Europe/Berlin
image: "mysql:5.7"
networks:
- backend

restart: always
volumes:
- "./db/direktkredit:/var/lib/mysql"
web-direktkredit:
container_name: web-direktkredit
depends_on:
- db
environment:
HABIDAT_DK_ADMIN_AUTH: ldap
HABIDAT_DK_ADMIN_EMAIL: [email protected]
HABIDAT_DK_ADMIN_PASSWORD: "secret"
HABIDAT_DK_ADMIN_USERNAME: admin-dk
HABIDAT_DK_DB_DATABASE: direktkredit
HABIDAT_DK_DB_HOST: db
HABIDAT_DK_DB_PASSWORD: secret
HABIDAT_DK_DB_USER: db-dk
HABIDAT_DK_DEBUG: "true"
HABIDAT_DK_EMAIL: [email protected]
HABIDAT_DK_HTTPS: "false"
HABIDAT_DK_LDAP_BASE: "ou=project,ou=users,dc=domain,dc=org"
HABIDAT_DK_LDAP_BINDDN: "cn=read,dc=domain,dc=org"
HABIDAT_DK_LDAP_HOST: openldap
HABIDAT_DK_LDAP_PASSWORD: "secret"
HABIDAT_DK_LDAP_PORT: 389
HABIDAT_DK_LDAP_SEARCHFILTER: "(cn={{username}})"
HABIDAT_DK_PORT_HTTP: 8080
HABIDAT_DK_PROJECT_ID: project
HABIDAT_DK_PROJECT_NAME: "Project e.V."
HABIDAT_DK_REVERSE_PROXY: "false"
HABIDAT_LOGO: logo.jpg
image: "habidat/direktkredit:mhs"
labels:
- traefik.enable=true
- traefik.http.routers.dk.rule=Host(direktkredite.domain.org)
- traefik.http.routers.dk.entrypoints=web
- traefik.http.routers.dk-secured.rule=Host(direktkredite.domain.org)
- traefik.http.routers.dk-secured.entrypoints=web-secured
- traefik.http.routers.dk-secured.tls=true
- traefik.http.routers.dk-secured.tls.certresolver=resolver
- traefik.http.routers.dk.middlewares=redirect@file
- traefik.http.routers.dk-secured.middlewares=default-chain@file
- traefik.http.routers.dk-secured.service=direktkredit
- traefik.http.services.direktkredit.loadbalancer.server.port=8080
links:
- db
logging:
options:
max-size: 50m
networks:
- web
- backend
restart: always
volumes:
- "./direktkredite/config:/habidat/config"
- "./direktkredite/files:/habidat/public/files"
- "./direktkredite/images:/habidat/public/images"
- "./direktkredite/upload:/habidat/upload"
`

config.json
{ "database": { "host": "db", "dialect": "mysql", "username": "db-dk", "password": "secret", "database": "direktkredit" }, "auth": { "admin": { "method": "ldap", "ldap": { "server": { "url": "ldap://security-openldap:389", "bindDN": "cn=read,dc=domain,dc=org", "bindCredentials": "secret", "searchBase": "ou=project,ou=users,dc=domain,dc=org", "searchFilter": "(cn={{username}})" }, "passReqToCallback": true, "usernameField": "userid" } }, "user": "local" }, "site": { "http": "true", "https": "false", "sslcert": "", "sslkey": "", "porthttps": "", "porthttp": "8080", "reverseproxy": "false" } }

project.json

{ "projectname":"Project", "logo":"/public/images/logo.jpg", "url":"https://direktkredite.domain.org", "usersuffix":"dk", "defaults": { "interest_method":"365_compound", "interest_payment_type":"end", "termination_type":"T", "termination_period":"6", "termination_period_type":"M", "relationships":"Unbekannt","Bewohner_innen","Nutzer_innen","Verwandte","Bekannte","MHS","habiTAT"], "country":"DE" }, "projectid":"Projekt", "theme":"monochrome", "smtp":{ "port":"465", "host":"mailserver", "auth":{ "user":"user", "pass":"secret", } } "email":"[email protected]" }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.