Skip to content
This repository has been archived by the owner on Aug 27, 2021. It is now read-only.

Latest commit

 

History

History
282 lines (198 loc) · 10 KB

README.md

File metadata and controls

282 lines (198 loc) · 10 KB

Cryptorado Community Website


Development Group Chat: https://keybase.io/team/cryptorado (ask nukemandan to join the development subteam)


Goal:

A community run and maintained website that anyone can host and contribute to. It will be the place to go to find out what is going on in the Cryptorado & DLT community. Resources will be available to get connected, to learn, and to get involved in all that is going on.

The site aims to be static and client side only compute (or integrated API calls for distributed compute) to enable one to completely own and manage their own data on the site, and are incentivized to host and run operations related to the site. (see Desired Architecture and Features)

Dev Notes

Instructions and tips for development

Install Quasar cli

https://quasar.dev/quasar-cli/installation

# Node.js >= 8.9.0 is required.
$ npm install -g @quasar/cli

Run in dev mode

npm install
npm run dev

Build and Deploy

Note you need write access to the Cryptorado-Community.github.io repo to deploy to it! We also assume you have setup and use an SSH key to access github

Set a new gh-pages remote for git:

# Note: run this in the pjoject directory!
$ git remote add gh-pages [email protected]:Cryptorado-Community/Cryptorado-Community.github.io.git

Build w/ quasar and deploy:

# Note: run this in the project directory!
$ npm run build
$ npm run deploy

Key Content:

An Event and Meetup Calendar

Design: Take the UI and features of https://sched.com/directory Thus one can easily filter and find events and meetups that fit their interests and build a personal schedule.

  • Filters:

    • Meetup name
    • Tags/types/topic (many options, possibly as many as people add to events unrestricted)
    • Date range
    • Time of day
    • Max Duration
    • Location (city, possibly area/zone on map, even by venue?)
    • cost
  • Assemble a personal agenda (NO LOGIN NEEDED):

    • Local storage of selected items
      • Cookie to hold this accross sessions?
    • Click to add/remove to local storage
    • Check for conflicting times
      • Page to resolve conflicts
    • Exportable file (ical?)
    • Link to add/export to common callender applications
    • Export to your calendar
  • RSVP to organizers

    • External link (if hosted on other platform)
      • Plug in any RSVP tool/ticketing system.
      • Just be an email if no other platform hosts RSVPs (?)

Desired Features:

  • Anyone can add events
    • Might consider needing to run a hosting node to do so?
      • Need Peer ID to write to events?
      • Need to host/serve the site on IPFS (or other DB) for events to show up?
    • Integrated form to submit any event.
      • PeerPad as a way to do this?
      • Creates an issue /pull request to the hosting repo.
      • Secondary system to allow full commit access once approved.
  • Automatically pulls new events from a linked site - like meetup.com
  • Easy to use interface to add
  • Can subscribe to updates via email
  • Linked with twitter bot to broadcast
  • Inspiration: - http://getmeetingstar.com/ - https://www.eventbrite.com/d/co--denver/events/ - Use Cards for events vs. a calendar layout

Three Community ways to Communicate/Interact Online:

Community Chat

For short form conversation and pressing news/issues

  • Not hosted on the site, but linked.
  • https://matrix.org based with bridges to various clients (riot to start)
    • slack + discord + riot ( + signal + wire + telegram + ....)

Community Forum or Blog

A long form and focused medium to talk on specific topics.

  • Redit like? Discourse like?
  • Reputation system like Stack_Exchange (see below - almost the same framework needed for a wiki)
  • OR more like A blog platform? Something like [medium])(http://medium.com)?

A Community Wiki

For Educational / Informational content. refined ideas from Forum.

Community Media Highlights

A Community Resources Bulletin Board

Project Board

  • Company Projects AND Community Projects

Map of Cryptocurrency Accepting Businesses

Desired Architecture and Features:

We desire a distributed content hosting and contribution model. So that the content is redundant, those using it support and validate all peers, and are able to add content to the peer network.

Static Website

Desire no server side compute needed. Everyone who hosts our resources can be a server and client. What does a static site model provide?

  • Optimized SEO
  • Lightning fast and light to host and load
  • Flat pages as database
  • Can be tracked in a Git repo - so history is maintained and easy to host among distributed peers

Distributed Data Base

DB to hold:

  • Events
  • Meetups / Individual Homepages
  • Blog type Bulletin Board Pages

Possible solutions for IPFS backend:

  • OrbitDB as a backend on IPFS - but is in beta.

  • PeerPad does not rely on a second or third-party. All nodes talk to each other directly, without intermediation.

Easy Frontend Site Managment

  • http://quasar-framework.org
    • Full Front end Framework, headless in that sense.
    • Build on Vue and easy to use/ learn
    • Very easy to get seomthing looking good with a lot of great components

Distributed Hosting / CDN:

Want to have a distributed / redundant store for the website. Ideally self hosting is very easy and secure. Want to get something like this: https://en.wikipedia.org/wiki/Content_delivery_network

An site can be hosted like this:

Self hosted site:

Want a very easy onboarding process - just install and you are a host + node for all the community resources.

  • To host the site under our own domain on IPFS, this is pretty comprehensive.
  • To upload site content to IPFS, and access it from IPFS gateway, and redirect our domain name to point to the IPFS gateway, this article goes over how to do that.
  • Make this IPFS a grain for https://sandstorm.io/
  • And/or make a simple docker / other install for people
    • Could this be on mobile too? (needs to be lightweight enough)

To get started - and eventually compliment community hosing, use:

  • GitHub/Lab Pages
  • Firebase
  • Netlify
  • Other free options?
Other self hosted resources:

Wantt to make a set of services - keep this in mind when finding a Website hosting solution:

  • cloud shared community data
    • media
    • project Git repos
    • chat server (federeated?)
    • wiki

Distributed DNS:

  • https://handshake.org/
    • Decentralized certificate authority and naming An experimental peer-to-peer root DNS.

Content Management System (CMS) for easy addition of select content

  • Way that anyone can submit a PR
    • Template file could edit and submit a PR for easily
    • Dedicated page with forms to build an event manually and submit PR This all to be ported to a permissionless model and/or Peer ID used to get write access to IPFS DB for events

Also could use CMS