Skip to content
Efficient, simple, encrypted personal data store and sharing system.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
admin
bin
cli
config
files
server
tests
.codeclimate.yml
.dockerignore
.editorconfig
.env.example
.eslintrc
.gitattributes
.gitignore
.istanbul.yml
.nvmrc
.travis.yml
.yarnrc
Dockerfile
LICENSE
README.md
Sylow.postman_collection.json
docker-compose.test.yml
docker-compose.yml
gulpfile.babel.js
index.js
package.json
webpack.config.js
yarn.lock

README.md

Sylow

Build Status Test Coverage Code Climate

An efficient, simple, encrypted personal data store and sharing system.

In development. For more information, check out the Wiki.

Getting Started

Development

To run Sylow locally you need to install nvm, MongoDB (3.4 and higher) and Yarn.

  • Make sure MongoDB is started. For example, on Linux, you can run: sudo systemctl start mongod

Then you can run:

git clone https://github.com/SylowTech/sylow
cd sylow
nvm use
cp .env.example .env
yarn install
yarn start

Using Docker

You can also use the provided docker-compose configuration. You must first install both docker and docker-compose on your system. Then, starting the server is as simple as:

git clone https://github.com/SylowTech/sylow
cd sylow
cp .env.example .env
./bin/development.sh

Creating a test entity

You will need to create an admin entity before you can start using the Sylow server and its administration interface. To do so, run cli/sylow new-entity [name] [domain] with your desired username and domain name. The command will ask you for your password, and will encrypt and save it along with the entity.

Testing

Tests can be launched for the Docker version using ./bin/test.sh, or for the manual version using yarn test.

Notes

The development server uses a live reload system, meaning changes you make to server-side files should cause the server to restart, whether you use Docker or a manual installation.

A precommit hook runs before every push, to make sure all tests pass and that code coverage is not too low. If you use both the local and the Docker versions alternately, you may also need to change the prepush hook in your package.json to use either the local method of testing or the Dockerized one.

You can’t perform that action at this time.