Skip to content

Instantly share code, notes, and snippets.

@nicksellen
Last active February 12, 2020 17:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nicksellen/f399835de7c53767fbf502c1f77f11ea to your computer and use it in GitHub Desktop.
Save nicksellen/f399835de7c53767fbf502c1f77f11ea to your computer and use it in GitHub Desktop.

karrot features

This is in detail description of all the features in Karrot. For each feature section it should explain the context, and the philosophy, and the details. Perhaps it's a bit like a spec? But right now an attempt by me to understand the features and have them in one place, so I can think more clearly!

groups

Groups are at the heart of Karrot. Each group is independent from the rest and will usually represent an in-person community of people. They normally have their own organisational name and structure. They are not part of the karrot organisation, they just use karrot.

group gallery

  • an overview of all the groups on the instance
  • filterable by
    • search (by group name)
    • can hide inactive groups
    • seperates groups you are part of from those you are not (if logged in)
  • world map showing all groups

group preview

  • shows details for a single group
  • displays the public description of the group
  • options to join group if not already a member

create a group

You can create a group with the follow fields:

field
title
public description
internal description
welcome message
address text
address lat/lon
questions for applicants
timezone

edit group

  • same fields as for create group
  • but additionally a group image can be added, which will be displayed in the top left and on the group preview overview

group wall

  • see chat/wall section below
  • shows pickups you have signed up to at the top
  • shows pickups with available slots from your favourite places, default collapsed

group history

  • an audit of activities by users in this group

notifications

weekly summary

  • sent out at 8am local time every Sunday
  • provides an overview of all the activites in the group in that week
  • idea borrowed from the slack emails of a similar nature

full page map

  • can select:
    • places on/off
    • users on/off
    • groups on/off
  • export all selected things to GPX file

member list

  • sorted by join date or alphabetically
  • by default, inactive users are not shown, but you can expand a section at the bottom to show them

group applications

  • for all "closed" groups (everything but the Playground and some older inactive groups) users have to apply to join
  • they are displayed the "questions for applicants" (group setting)
  • members of the group can see the list of applications
  • a chat is created with the applicant and the rest of the group (or just "editors"?)
  • members of the group (or just editors?) can accept or decline the application (on the overview page)
  • past applications are hidden on the list by default, but can be expanded

group issues

  • a place to discuss and resolve issues in the group
  • can be created via the button on a members profiles if enough trust has been given
  • a multi page wizard before the issue is created to ensure the user understands the process
  • has a "target person" that the issue is about
  • a chat is created with all members (or just editors?) and the person
  • after some time of discussion a score voting process occurs
  • the proposals to vote on are fixed by the software
  • voting can result in
    • leaving the member in the group
    • removing member from group
    • repeat the process (or add more time?)

offers

  • within a group
  • for offering goods or services to other members of the group

create offer

fields:

field
name
description
1 or more photos

list offers

  • can filter by available, or your own archived offers

view offer detail

  • chat
  • archive offer
  • edit offer

notifications

  • "New offers" notification setting to receive emails when new offers are created, defaults to off (I think)

pickups

  • within a group and a place

create/edit one-off pickup

fields:

field
date
time
optional end time
max slots (how many people can participate)
extra information

create/edit recurring pickup

fields:

field
frequency (weekly, or custom rrule)
if weekly, time
if weekly, optional end time
if weekly, which days of the week
if custom, start date
if custom, start time
if custom, custom rule https://www.kanzaki.com/docs/ical/rrule.html
max slots
extra information
  • can edit individual pickups in the series
    • slots
    • additional information
    • can disable

pickup list

  • can see who has signed up
  • join/leave
  • chat in sidebar
  • filter by
    • all
    • with free slots
    • only empty

pickup feedback

  • after a pickup has finished you can provide feedback
  • has optional weight and a comment

notifications

  • the night before, if not filled already
  • reminders for your own ones

places

  • within a group

create a place

fields:

field
name
status (just created, negotiating, co-operating, don't want to co-operate)
description
address text
address lat/lon
how many weeks in advance should pickups be scheduled

edit place

  • same fields as above

place wall

  • see wall/chat section

pickup feedback

  • shows feedback about pickups for that place

place history

  • like group history, but just for that place

manage pickups

  • see pickups section

mark as favourite

  • can mark certain places as favourite
  • will show up at top of place list in sidebar with a star
  • will subscribe you to place wall
  • shows you available pickups from favourite stores at top of group wall

show directions

  • opens openstreetmap (or something else on mobile) to provide directions to the place

notifications

  • ?

trust

  • exists between two users, per group
  • some thresholds for getting "editor" role

account

create account

  • fields
    • name
    • email
    • password
  • leads to unverified account

profile page

  • in the context of a group (so you can only see profiles if you have common groups)
  • trust
  • photo
  • email
  • location
  • history
  • link to edit

user settings

  • profile photo
  • profile fields
    • name
    • description
    • phone number
    • address text
    • address lat/lon
  • language selector
  • account info
    • change email address
    • change password
    • delete account
  • notification settings
    • per group
    • 5 different notification types
    • unsubscribe from all (probably means all the chats/etc inside the group too)
  • push notifications
    • current browser push notifications toggle

global things

search

  • groups, stores, users

messages

  • wall posts, private chats, wall replies, etc...
  • conversations/replies switch

notifications

  • various activities (a bit similar to history)

about

  • about karrot, info about team, and links to other places

community forum discussions

  • show discussions from the community forum

chats and walls

  • built on reusable conversations feature
  • write messages
  • emoji reactions

walls

  • on groups and places
  • newest message on top
  • threads are like chats on a wall message

chats

  • newest message on bottom
  • multiple types:
    • application chat
    • private chat
    • pickup chat
    • issue chat
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment