Code Monkey home page Code Monkey logo

openfairdb's Introduction

Open Fair DB

The backend for Karte von morgen written in Rust.

An open geografical database for information about organisations (initiatives, companies) written in Rust and mainly used as the backend for Karte von morgen. You can use this code to setup your own database, but if you want to use global data from https://openfairdb.org/ or contribute to this project together with Kartevonmorgen.org, please see our API-Specifications.

GitHub CI License

Documentation

The project documentation can be found in the doc folder or at https://book.ofdb.io.

License

Copyright (c) 2018 - 2024 slowtec GmbH
Copyright (c) 2015 - 2018 Markus Kohlhase

This project is licensed under the AGPLv3 license.

openfairdb's People

Contributors

david-ziegler avatar dependabot[bot] avatar enoui avatar flosse avatar magdaddy avatar regenduft avatar snaeil avatar uklotzde avatar wellemut avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openfairdb's Issues

Please update README.md

Please update lines in

Installing Rust and Cargo

as follows

     sudo apt-get install curl libssl-dev gcc
     curl https://sh.rustup.rs -sSf | sh
     rustup install nightly
     rustup default nightly

(Yes, gcc! It was missing in my fresh installation. And, you mention to use Rust nightly, but users could need the 2 extra lines for convenience.)

Then, to add Cargo to $PATH, please, log out and log back in. (Not very elegant, I know)

Thanks,
Oli

csv tag download

The server should return list of tags with both the tag's name and the usage/reference count. Unused or orphaned tags will return a usage count of 0.

Optionally the maximum number of returned tags should be limited.

The results should be filtered by

  • Usage count ascending
  • Usage count descending (default)
  • Lexicographically ascending
  • Lexicographically descending

send notifications only daily (maybe as summary)

Give the user the choice, eather to get daily mail reports or a notification per Entry.

  • Don't send the notification immediatly, but delay it at least for one hour or even for one day, otherwise, you might send too many mails when people again and again change entries.

The mail contains changed entries with:

  • title
  • link
  • city

Footer: Link to unsubscribe (see #45)

All new informations should be bold, all deleted informations (especially tags) should be scratched out

Add link to unsubscribe in notification mail

Problem

  • Its fairly complicated for users to unsubscribe form notifications
    • March 2024: Loging in to unsubscribe is not working: https://ofdb.io/dashboard
    • Even if people log in and cancel subscription, it seems, mails are still comming

Liebes Karte von morgen Team

Seit Tagen bekomme ich zig Mails mit der Bitte unterschiedlichste Einträge zu kontrollieren.
Ich bin als Regionaut registriert.
Aber ich kann mich nicht einloggen um diese Mailflut abzubestellen.
Bitte übernehmt ihr das für mich oder schickt mir eine login Möglichkeit zu.
So viele Mails kann ich nicht handeln.
Meine Email: birgit@...

Herzlichen DANK
Birgit

  • There is no way to unsubscribe!!!
  • We only can have one subscripton, because otherwise the user would cancel all,
    • we would need another interface for managing description, but then they would need a name.

Solution

  • Just offer an unsubscribe link at the button of each notifactionmail, where you can click on and easily can conform of not wanting to be notified anymore.

backups

I just realized that neo4j doesn't support online backups so now we have three options:

  1. Pay for a enterprise edition
  2. Build your own online backup system
  3. change to an other DB

So 2. won't happen obviously. 1. is something I dislike. Paying for a service is ok, but as long as an open source software is forced to pay for a feature is not the way I like. So in a long run I think we should look for an other graph DB.

Error on Mac OS X

error occurs in line 106 of main.rs: let pool = r2d2::Pool::new(config, manager).unwrap();
error-message: thread 'main' panicked at 'called Result::unwrap() on an Err value: InitializationError(())', ../src/libcore/result.rs:688`

OS: Mac OS X 10.11
Neo4J version 2.3.3

SSO: Login over wechange.de account via oAuth2 or LDap

Problem

  • Users are annoyed of too many logins
  • Story userdata is quite sensitive regarding privacy...
  • On kvm we dont have and dont want to enable user-to-user communication.
    • But for regional and thematic collaboration we need to offer certain possibilities.

Solution

  • Implement SSO with wechange.de-Useraccounts
  • Group-Membership defines, if a user has Admin-Status on ofDB
    • In a Super-Admin list on ofDB Helmut can define, which Group from wechange.de is giving admins rights (later it can be limitted to certain areas or hashtags)
    • Via this link: https://wechange.de/o/me/ you get the group-memberships of a user, to check of which groups he is part of.

Creating entries should be possible without login but then those entries first must be checked by a Regionalpilot before they are added.

Issues from WE:


For Later

  • OSM- SSO: when logging in, redirect to OSM to log in there. We need to know the user names to add our entries to the OSM.
  • If our useraccounts are connected to OSM it can build on this interface: https://www.onosm.org/

send welcome-email to new entries

Probelm

We loose visitiors and marketing potential, if we do not inform new entries that they are mapped. because they could spread their entry on our map

Solution

  • Microservice:
  • Send a welcome email to the new entry:
    • if entry has no negative ranking >= 0 (-> After creating an entry open a popup saying "Why did you put this entry on the Map of tomorrow. Consider writing a positive impact rating know.")
    • only 5 days after they where added/rated (to prevent spam and give time to moderators to interfere) (The script could go through the openfairDB once a week ans search for corresponding new entries)
    • only when mailadress was added (even when mail is added long time after creation)
  • Check country: (-> Add country by default to every entry: #319)
    -> If Germany: sender-mail: [email protected] - Text in German
    -> If Spain: .....
    -> if any other country: send from [email protected] and use english text
    Use the default Text: https://wechange.de/project/karte-von-morgen/document/mailvorlage-fuer-neue-eintraege
    (- Send Mail in CC to [email protected] (weiterleitung Manu), so that he knows about mails to new entries.)

Trello-Card: https://trello.com/c/nPZ33Xzy/512-willkommens-mail-f%C3%BCr-eintr%C3%A4ge

Neccessary Steps:

  • Dispatcher, der den Action-Event-Stream aufteilt, an wen mails geschickt werden. #194

search via url

Entering something like https://www.kartevonmorgen/#?search=foo should open the site with search results for foo .

build for server fails

cargo build works but cargo build --release --target x86_64-unknown-linux-musl fails
this happened after pulling a7fc397 which changed rustc-version to rustc 1.20.0-nightly (9b85e1cfa 2017-07-07)

$ cargo build --release --target x86_64-unknown-linux-musl
   Compiling ascii_utils v0.9.3
   Compiling libc v0.2.26
   Compiling term v0.4.6
   Compiling smallvec v0.4.1
error[E0463]: can't find crate for `std`
  |
  = note: the `x86_64-unknown-linux-musl` target may not be installed

error: aborting due to previous error(s)

error: Could not compile `ascii_utils`.
warning: build failed, waiting for other jobs to finish...
error[E0463]: can't find crate for `std`
  |
  = note: the `x86_64-unknown-linux-musl` target may not be installed

error: aborting due to previous error(s)

error: Could not compile `term`.
warning: build failed, waiting for other jobs to finish...
error: build failed

remove email and phone from search result

To prevent spamming I'd suggest to remove email and phone from the search result and add endpoints
/entries/:ID/phone and /entries/:ID/email.
These could be easily throttled lateron to prevent harvesting and still keep functionality for the user.

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.