Coder Social home page Coder Social logo

emeks-studio / sensum Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 1.0 3.47 MB

An anonymous way of express your sensations through a decentralized network, powered by open source code and blockchain technologies.

Home Page: https://sensum.emeks.com.ar

JavaScript 60.24% Starlark 1.95% Java 1.80% ReScript 20.77% Solidity 1.18% HTML 0.69% CSS 0.05% Nix 13.32%
blockchain dapp ethereum layer2 nix open-source privacy pwa rescript self-hosted solidity web3

sensum's People

Contributors

ariedro avatar bluesd avatar mk-emeks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sensum's Issues

Theme by Oracle's mood or by user setting

In src/components/MiscellaneousScreen.res we should be able to change/setup app theme (and as a v2: store the config definition in the local storage)

hint:

  let pickTheme = () => {
    ...
  }

Rescript support for symbols, emojis, and special characters

in src/components/MiscellaneousScreen.res

  let showNetwork = () => {
    UserBinding.user.tryGatherAcolytes()->Js.Promise.then_(result => {
      switch result {
      | "" => showToast("ya guey! no insistas")
      | n => showToast(n ++ " electrones orbitando")
      }
    }, _)
  }

original messages were:

  • ${n} electrones en órbita
  • 😴 ya guey! no insistas

hook 'em all

Description

Some old components are not using hooks, we should migrate them.

TODO: List them in order to split the issue in several ones.

sensum (backend) decentralized

  • sensations table should be moved to a wall contract:
    Any user that pay the price would be able to post in the wall. Client (mobile or web) would read the list of sensations from that contract.

  • messenger contract: In this contract users could (if they want) register (by executing a transaction) their id (player id assigned by Onesignal). Then our messenger (hosted by emeks) will subscribe to events in wall contract; if something new is posted it, it will read ids from messenger contract and notify to those users.

  • Oracle: the idea is that the same backend that acts as messenger, continue electing someone to be the chosen one. But by reading from the messenger contract, and sending the secret (the orbe) to the chosen one. With that the user could use our backend as a mediator and send the sensation to us. Our compromise would be to post the sensation of the user and pay for the transaction. This way those sensations will be more a less anonymous, given Oracle's address will appear as the sender instead of the user address (the "secret" will be between our backend and the choseone)

  • proposed blockchain: Cardano
    Contract fees would be cheaper than in Ethereum

FAQ:

  • Why this model is decentralized?
  1. You read the state of the application from the blockchain.
  2. Anyone could be an Oracle/messenger, or even publish a sensation.
  • Could others implement other messenger contract that use different push notification service?
    Yes! And that would be awesome.

  • Could others deploy new Wall contracts? Yes, anyone could run their own "sensum" wall, also the idea at least from the app is to provide a way to setup different versions of both contracts (The wall and the messenger contract)

Observations (assuming the new protocol)

  • As a single user I could publish a non-anonymous sensation if I paid the right price.
  • Our(from emeks) only incentive in being a medium to provide anonymous sensations and waste money paying for the transactions is because we love sensum.

Add Miscellaneous Screen

When user press "sensum" title in SensationsScreen or NewSensationScreen, we should navigate to a new screen called MiscellaneousScreen where the following info should appeared:

  • link to the this repository
  • link to lore
  • change the theme color
  • powered by emeks (link to our page)

Smart contract testing

Create a test that deploys the smart contract and try to add the existing sensations.

Mostly just to stress test the contract and see if it can handle all the previous sensations.

Oracle's birthday party

scheduled events where an ephemeral anonymous chat will be active for all users to interact.

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.