Giter Club home page Giter Club logo

fountainpencompanion's People

Contributors

dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar t-makaro avatar ujh avatar valthon avatar wkillerud 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

Watchers

 avatar  avatar  avatar  avatar  avatar

fountainpencompanion's Issues

Suggest pen and ink combinations

Based on all the data that is being saved (how often was a pen or ink used? when was it used the last time? Maybe even a rating) it should be possible to generate suggestions on what combination to ink up next. The exact algorithm probably needs a lot of tweaking as it should be combination of stuff the user likes, and stuff he hasn't tried in a long time (or ever).

Allow image upload

Allow users to uploads images of the inks (and pens?).

  • How would that data be displayed? Can it also be shown on the shared (/brands/...) pages?
  • Can we maybe even use this to figure out an approximate color of the ink?

Dashboard with multiple statistics

A dashboard that has various (maybe even configurable) widgets that display data:

  • Top 5 most used inks/pens
  • Graph of how many pens were inked on a given day
  • ...

Run cluster update in the background

When adding or editing a collected ink we also update the attached cluster. With Sidekiq configured we can now move most of it into the background.

Also add exception notification emails for background jobs!

Copy nib to archive currently inked entries

When archiving a currently inked entry the nib needs to be saved in the CurrentlyInked entry. This is because otherwise this data can get lost when the nib in the Pen entry is changed (i.e. when the nib in real life is changed).

It probably requires the ability to edit that field for archived CurrentlyInked entries. It remains to be seen if this information needs to be cleared when an entry is unarchived.

Rate when archiving a currently inked entry

It seems that when archiving a currently inked entry is the perfect time to ask a user for a rating of the pen and ink combination.

It remains to be seen where to display this data. Do we then calculate an average rating for each pen and ink? Should the user somehow have the ability to manually override this?

Optimize the lines view

For some reason the Lines view is slower than the others. Maybe there's an index missing somewhere?

Price column

Price column for both inks and pens and a footer that sums it all up.

Upload avatar

Allow users to upload an avatar and only use Gravatar as the fallback.

Better UX on mobile devices

As ~ 50% of the users use mobile devices the UX on these needs to be improved. The tabular layout is definitely not useful here. For the inks part one idea would be to use a layout that looks like an ink swab card. These could then be arranged in a grid and the number of columns could get less and less the smaller the screen.

Update the home page

Right now it only talks about inks, but the site now also allows you to track pens and currently inked. It would be useful to mention all that on the home page.

Proper Patreon integration

  • Add flag for users to mark them as patrons
  • Change the widget added in #380 to display a thank you notice for patrons
  • Admin stats & ability to set flag in admin area
  • Badge for patrons on:
    • Their public inks page
    • The users list
    • Leaderboards

Better keyboard navigation for the inks page

Right now the inks page requires a lot of use of the mouse.

  • Ability to tab through all changeable fields of an ink
  • j/k navigation a la Gmail
  • Figure out how saving a new entry via the keyboard would work. When does enter make sense? Tab to save button?

News widget

  • Add new widget to display news. Just a link and a timestamp
  • Admin area to add, edit, remove them.

Will be used to link to Patreon posts (for now).

Figure out how to improve the user comparison

The current pages to compare collections of inks between users are pretty basic and almost useless. This feature has a lot of potential as that's one of the main uses of the site.

Rank a users inks using Elo rating

Give the user two inks and have him pick the favorite. Do that often enough and you've established a relative ranking of all his inks.

All inks need to be marked as used via a currently inked entry

When adding a currently inked entry the associated ink gets flagged as used. However, all inks by that name of that user (that are not archived) should be marked as such. A user could have an ink as a bottle, sample, and cartridge and all these are then by definition used. Right now only the one directly associated with the currently inked entry is marked as used.

Replace select2 with a proper React component

select2 isn't a npm package and more or less lives outside of the React world. It would be preferable to use a React component for the task of offering a nicer experience with select elements.

Add ability to tag inks

Add a column to the inks page for tagging. Share the tags between users for entries that are public. The main use case is tagging by color.

Add the tags to the CSV export.

Update the documentation

A lot of new features were added and the documentation is out of date. It needs to be updated to cover everything. It might also be useful to sprinkle in links to the documentation for a feature right next to that feature.

A wishlist

Figure out how a wishlist feature for inks could look like. We'd need a way to display that list for the user and also make it visible for everyone else so that they can pick inks directly from that list to send to people. Maybe there's other things that could be done with this as well.

Track letter writing

  • A way to track when you've sent and received letters. Maybe also when you've written one.
  • Oh, and keeping track of addresses would also be great. Maybe even add the ability for users to share their address with others (probably not publicly). That way they are in charge of their address and they can change it whenever they need to and everyone will know.
  • Notifying the other user when you've received or sent the letter might also be fun
  • A random generator to find new pen pals.

Widget to mention Patreon

Add widget to the dashboard that contains:

  • Link to Patreon and explanation why that helps
  • Mention that one time donations are also possible (with link)
  • Link to my user profile on FPC
  • The email address for FPC

At the same time remove the red Patreon banner

Track if a currently inked was used on a day

Ability to track if a pen/ink combo was used on a given day. Having this data would allow us to generate various statistics (e.g. a better most version of "most used pen/ink"). Will require to backfill this data (i.e. not just a button to record this for today).

Better ink matching algorithm

The currently algorithm to decide if to CollectedInk entries are the same or not is pretty basic. This is because it has to be reasonably fast as it's implemented as a DB view. This is problematic is this will be the basis for various "crowd" features (the one existing being the copying of color from one entry to the next).

To improve this it most likely needs to be a full features DB backed model. Then we can do more advanced calculations and comparisons. It will also allow for manual intervention.

It remains to be seen if this will be so slow that it needs to move into background jobs.

Also keep in mind ink and brand names that are only Chinese

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.