All Projects → DukkhaLess → DukkhaLessClient

DukkhaLess / DukkhaLessClient

Licence: GPL-3.0 license
A self-care application for individuals seeking to improve their mental health

Programming Languages

purescript
368 projects
HTML
75241 projects
Dhall
116 projects
SCSS
7915 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to DukkhaLessClient

Textpress
Simple flat-file blog engine in PHP
Stars: ✭ 207 (+1625%)
Mutual labels:  blog-engine
pile
Personal website generator based on Org mode
Stars: ✭ 20 (+66.67%)
Mutual labels:  blog-engine
blog-flask
自己写的博客系统,使用BootStrap+Flask+MySQL,不断优化中
Stars: ✭ 12 (+0%)
Mutual labels:  blog-engine
Gistlog
GistLog - simple, easy blogging based on GitHub gists
Stars: ✭ 237 (+1875%)
Mutual labels:  blog-engine
nib
static site generator with content pipeline
Stars: ✭ 17 (+41.67%)
Mutual labels:  blog-engine
Pointless
A Static Blog Generator
Stars: ✭ 18 (+50%)
Mutual labels:  blog-engine
Slimcms
SlimCMS - lightweight CMS based on slim 3 framework
Stars: ✭ 201 (+1575%)
Mutual labels:  blog-engine
awesome-hive
A curated list of awesome Hive resources.
Stars: ✭ 20 (+66.67%)
Mutual labels:  blog-engine
simpleCMS
simpleCMS是一款开源cms系统, 主要为个人/团队快速开发博客或者知识共享平台, 类似于hexo, worldpress, 但是他们往往需要复杂的搭建过程, 我们将复杂度降到最低, 并且有详细的部署教程, 你只需要有一台服务器, 就能轻松拥有一个属于你的博客平台.
Stars: ✭ 74 (+516.67%)
Mutual labels:  blog-engine
wowchemy-hugo-themes
🔥 Hugo website builder, Hugo themes & Hugo CMS. No code, easily build with blocks! 创建在线课程,学术简历或初创网站。#OpenScience
Stars: ✭ 6,891 (+57325%)
Mutual labels:  blog-engine
Dasblog Core
The original DasBlog reimagined with ASP.NET Core
Stars: ✭ 252 (+2000%)
Mutual labels:  blog-engine
sihae
A PHP 7.4+ blog engine built with Slim Framework and Doctrine ORM
Stars: ✭ 18 (+50%)
Mutual labels:  blog-engine
ghost-v4-on-heroku
Deploy the latest ghost v4 on Heroku
Stars: ✭ 105 (+775%)
Mutual labels:  blog-engine
Lazyblorg
Blogging with Org-mode for very lazy people
Stars: ✭ 226 (+1783.33%)
Mutual labels:  blog-engine
flybook
📚📚📚一个用node搭建的模仿简书风格的博客框架,简约且可定制
Stars: ✭ 14 (+16.67%)
Mutual labels:  blog-engine
Solo
🎸 一款小而美的博客系统,专为程序员设计。
Stars: ✭ 13,245 (+110275%)
Mutual labels:  blog-engine
quiki
a file-based web engine and server featuring a productive source language, markdown, image generation, categories, templates, and revision tracking
Stars: ✭ 20 (+66.67%)
Mutual labels:  blog-engine
acblog
An open source extensible static & dynamic blog system. (an alternative tool with same features at StardustDL/paperead)
Stars: ✭ 60 (+400%)
Mutual labels:  blog-engine
mentalRL
Code for our AAMAS 2020 paper: "A Story of Two Streams: Reinforcement Learning Models from Human Behavior and Neuropsychiatry".
Stars: ✭ 22 (+83.33%)
Mutual labels:  psychiatry
presta
Minimalist serverless framework for SSR, SSG, serverless APIs and more.
Stars: ✭ 89 (+641.67%)
Mutual labels:  blog-engine

Build Status Known Vulnerabilities

Dukkhaless Self-Care Client

A safe place to write your thoughts, and track the progress of mental health recovery.

Planned Features

  1. Secure Diaries
  2. Configurable Calendars with support for mood/diet logging.
  3. Secure Tagging of items for searching/filtering. The tags will be stored in a hashed format so they can be queried and searched without recording their text.
  4. Secure sharing of diaries/calendars with explicitly whitelisted parties.
  5. Support for creating and visualising timelines of events.
  6. DBT Template for analysing pros/cons of a possible decision
  7. CBT ABCD template with saving X. More to come, these are just the initial steps. User feedback and information will play a major role in where we go in the future.

Privacy System

The Dukkhaless Self-Care platform identifies three key security concerns.

  1. The user must be able to encrypt data for themselves and only themselves to read.
  • Secretbox algorithm is used to secure user data for their own viewing
  • Secretbox makes use of your symmetric key.
  1. The user must be able to send data to a specific individual (ie. their physician such that only that individual can read it.)
  • Box algorithm is used to send data between users.
  • Box makes use of your private key and the recipient's public key
  1. Only the owner of the user data should be able to change it.
  • This goal is achieved via typical sign-in credentials, ie username and password.

Technical notes on addressing these concerns

  • The program uses the tweetnacl-js library to handle client-side encryption
  • The program introduces a concept of a keyring, a block of text which the user must keep private and secure
    • The keyring is used to send data privately to specific individuals (like your physician) AND to encrypt your data so that ONLY you can read it.
    • Even the Dukkhaless Self-Care servers cannot read the contents of your data except for the minimum metadata to make sure it only gets sent to you. (i.e. the username that goes with a diary entry, and the info needed to sort them by most recent.)
  • The keyring has three keys within it.
    • A public key which the server keeps a copy of so that people can encrypt their data for only you to read it. A public key is safe to share without reducing privacy.
    • The private key that is paired to the public key. This is used to read messages that are sent to you.
    • The symmetric key that is used to encrypt your data for you to read. This key should be treated as securely as the private key as it represents your personal access to your data.

Problems That Still Require Solving

  • User password recovery without invading user privacy (i.e. demanding an email address)
  • Risk of user data loss when they key is lost.

Software Licensing

This program is licensed under the GNU General Public License Version 3. For details consult the LICENSE file.

Some source files are special cases and licensed under more permissive licenses such as Apache Version 2. This is done where the code is copied whole or in part from another individual who has licensed the software as such. Licenses are preserved so that authorship and rights do not be confused, and to protect and thank those authors who made this work possible. Such special files will have a license notice at the top of each file clearly demarking them as licensed differently from GPLv3.

Setting Up Your Development Environment

  • Download latest stable nodejs from here
  • npm install --global yarn
  • From the project directory: yarn setup
  • Run the program in dev mode: yarn dev
  • Additional scripts for it can be found in package.json's scripts object.
  • To create a new feature branch to do development, use git checkout -b MYBRANCHNAME
  • To contribute your feature back, please simply create a pull request with a description of its intent.

Getting oriented.

  • The project uses purescript-halogen For rendering
  • It's important to note that the documentation for halogen on pursuit is not up to date.

Contributing Guidelines

  • Cotribution guidelines can be found here

Working with the bulma design stuff

  • Once set up, run yarn dev to load the auto-reloading browser.
  • Edit styles/styles.scss to define appropriate style sheets to be used in the application, and configure bulma variables
  • View the work on localhost:3000/designPage.html
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].