Challenge Project

Sparkboard

Team formation for interdisciplinary hackathons

📂 Demo

Sparkboard v2

To run locally: bb dev localhost:3000

Configuration files are expected in src/.{env}.config.edn where env is one of local, staging, prod.

Develop locally

  1. yarn install
  2. bb dev
  3. Open a REPL with your favorite editor, reading the port from .nrepl-port

Deployment

  • Pushing to staging branch deploys to staging server
  • bin/promote promotes the current staging build to production

Architecture and Approach

Core libraries used: - re-db, an end-to-end reactive library which streams data from a Datalevin database to a React-driven frontend. - yawn, a React wrapper supporting hiccup and live reloading.

This content is a preview from an external site.
 

Edited (version 2)

11.03.2024 13:21 ~ loleg

Project

Repository updated

11.03.2024 13:21 ~ loleg

First post View challenge

11.03.2024 13:21 ~ loleg

:entity/admission-policy + fixes - new project with membership - trim read-only text field values - video fields: fix :field/wrap to skip nil urls (@mhuebert)

stickky projects: outlines and sort (@mhuebert)

:entity/admission-policy, hookless persisted-attr view

  • :entity/admission-policy for teams and boards (replaces :board/registration-open?)
  • use a view for entity.ui/persisted-attr instead of a hook, more flexible (@mhuebert)

fixes: - org settings re-enabled - org query includes roles - account memberships include roles - chat snippet shows other name - text-field retains focus state when persisted-value changes - image field shows uploaded image (@mhuebert)

fix prose editing (@mhuebert)

project cards, fix asset handling (@mhuebert)

tag display (@mhuebert)

fix chats (with new schema) (@mhuebert)

video fix (@mhuebert)

restructure memberships to mediate all of a user's interactions on a board

  • simplifies how we can traverse to a member's profile within a board
  • reflects the way users should be able to customize their own identity per-board (@mhuebert)

rename member -> membership (@mhuebert)

header: use single menubar instead of individual dropdown menus (@mhuebert)

fix: color-list passthrough in admin, editing icon in text-field (@mhuebert)

recent-ids, tag validation (@mhuebert)

fix tags (@mhuebert)

tag editing ui tweaks (@mhuebert)

show and edit tags on member profile (@mhuebert)

fix assets, image list thumbnail display (@mhuebert)

factor out editable lists (@mhuebert)

manage tags (board-admin) (@mhuebert)

fix prose editor spacing (@mhuebert)

fix header link (@mhuebert)

various: - entity header settings button - member list view (@mhuebert)

fix: filter field (@mhuebert)

project drafts handled - separate member/roles from all-roles fn - compute all-roles on client, assume the user's roles are all in memory - filter project drafts out of shared query - separate drafts query for the user (@mhuebert)

badge field done (@mhuebert)

hide video if not present (@mhuebert)

video fields, role granularity, nil attribute transactions, (@mhuebert)

WIP: badges field.

  • see new-badge for next todos (@mhuebert)

show field hints, show read-only views of text fields (@mhuebert)

project page - edit title, description - cleaner handling of :classes for text-field (@mhuebert)

images: improved drag and drop (@mhuebert)

images: remove via context menu, re-order (@mhuebert)

image fields: add, remove (@mhuebert)

deps (@mhuebert)

same header for account + entities (@mhuebert)

more schema-based views, fields (@mhuebert)

cleaner impl of ?field persistence (@mhuebert)

persisted-value: always read from ?field (@mhuebert)

subfields (:many) can be specified per attr

TODO: figure out how to determine 'persisted-value' for nested data (@mhuebert)

wip: top-down board form (@mhuebert)

fix: labels, image upload (@mhuebert)

schema + settings

  • domain -> domain-name
  • move fields inline instead of separate entities with refs
  • auto look up label from attribute name (@mhuebert)

video field ui (@mhuebert)

rename sparkboard -> sb (@mhuebert)

consolidate field and field-entry (@mhuebert)

re-organize, split form related code from ui (@mhuebert)

Challenge

Event started

 
All attendees, sponsors, partners, volunteers and staff at our hackathon are required to agree with the Hack Code of Conduct. Organisers will enforce this code throughout the event. We expect cooperation from all participants to ensure a safe environment for everybody.

Creative Commons LicenceThe contents of this website, unless otherwise stated, are licensed under a Creative Commons Attribution 4.0 International License.