Giter Site home page Giter Site logo

lucos_contacts's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar lucas42 avatar

Watchers

 avatar  avatar  avatar

lucos_contacts's Issues

Refactor names

Rather than having name fields per language, allow agents to have multiple names. (possibly with a language attribute?)

First request after a while returns a varnish 503 error

If django hasn't been used in a while, the next request made returns an error.

Potential fixes:

  • Look for a setting to stop django shutting down
  • Use varnish healthchecks as a keep alive
  • Get varnish to retry after a failure
  • Use zabbix monitoring as a keep alive (or maybe to check how frequently this happens).

Mark addresses as inactive

I'd like to be able to say "this address is an old one", without completely deleting it.

Probs the same for phone numbers and the like too.

Don't hardcode any domains.

Domains should vary by environment. Need to work out how to the list of hosts from lucos_services into django.

Places using hardcoded domains:

  • Authentication
  • Links to JS bootloader in templates
  • Broken links to touch icon in templates
  • JS adding link to admin page in menu

Merging people from different pages

Currently, the merge action is only available on the admin agent list view. This means if, due to pagination, two people end up on different pages, there's no way to merge them.

Look at other ways of triggering the merge action.

Improve account UX based on type

Currently all account types show the same fields. Ideally, these would auto-update based on the type selected. (even if it's just hiding the irrelevant fields).

Search on homepage

Add clientside search bar which filters contact list to those matching the search term. Include non-primary names in search.

Sync contacts from facebook to lucos.

Import all friends for the authenticated user. Determine whether the following data can be gotten from facebook API:

  • Name.
  • Lists they appear in.
  • Phone number.
  • Other social media accounts.
  • Relationship with authenticated user. (Or even with each other - should be able to infer relationships from that).

Also, it'd be useful to sync group (aka list) membership back to facebook.

Apply relationship inference logic to deletions.

At the moment, deleting a relationship only deletes that specific instance. (eg deleting a sibling relationship from Alice to Bob will still leave the relationship from Bob to Alice in place).

Ideally, the inference logic would go through all the relationships which imply the deleted relationship should exist and delete those to prevent inconsistencies.

Complexity
Whilst this is probably easy enough for inverses (and transitive?), it's hard to know what to do for multi-relation inferences.
Suppose a "nibling" relationship is deleted. This suggests that either a corresponding "sibling" relationship or "child" relationship is incorrect. However, there's no way to know for certain which of these to delete, as the other one may be perfectly valid.

Migrate contacts from lucos 1.0

These contacts are mainly social media, so not sure if there's much point.
Most useful bits would be linking multiple social media accounts to a single person, and also which groups people were added to.

This would only need to be a hacky one-off script.

Dev Database

Work out where to set up the database. Puppet? Init command in services.json?

Pagination

Too many contacts on a single page is going to get annoying.

Load resources using common JS

Currently the live bootloader is being used, but in order to switch to the new dev one, CJS support will be required.

Order relations by closeness

At the moment, the order of people in the "Relations" section is the same order across everyone. It should be tailored for each person, so the closest relationships come first (eg parents & children before cousins etc)

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.