Edited (version 2)
Sparkboard
Team formation for interdisciplinary hackathons
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
yarn install
bb dev
- 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.
Project
Repository updated
Challenge shared
Tap here to review.
: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)
Start
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)