Giter Club home page Giter Club logo

kryptos's Introduction

Kryptos

About

Kryptos AI is a virtual investment assistant that manages your cryptocurrency portfolio. To learn more, check out the Kryptos Slide Deck and the Kryptos White Paper.

Installation

To get the entire project up and running locally:

Clone the repo:

$ git clone https://github.com/produvia/kryptos.git
$ cd kryptos

Build the docker images

$ docker-compose build

Running locally

$ docker-compose up

This will spin up a web, worker, ml, postgres, and redis container.

The web app will be accessible at http://0.0.0.0:8080

You can also view the RQ dashboard at http://0.0.0.0:8080/rq

Hitting Ctl-C will stop all the containers. To prevent this and run the containers in the background:

$ docker-compose up -d

You can then selectively view the logs of any of the containers

$ docker-compose logs -f <web|worker|ml>

Local Development

Once the containers are running, you can access the the shell of any of the containers, use the exec command

For instance, to run strategies from CLI:

$ docker-compose exec worker bash

This will provide a command prompt inside the worker container from which you can run the strat command

For example, to work on the ML service:

# start all containers w/o logging
$ docker-compose up -d

# enter the ml shell
$ docker-compose exec ml bash

# or enter the worker shell to run a strategy
$ docker-compose exec worker bash

Then to stream ML logs in a separate terminal

docker-compose logs -f ml

To stop all containers

$ docker-compose stop

To stopa specific container

$ docker-compose stop <web|worker|ml>

Contributing

When contributing to the codebase, please follow the branching model described here

Essentially, the two main branches are

  • master: the main branch containing the latest stable code released to production
  • develop: the "Work in Progress" branch where all new changes are merged into

Then there are feature branches. These are the branches where you will make most of your commits. They branch off of develop, and are merged back into develop when the feature is complete.

Setting up the development envrionment

Remember to get the lastest changes

$ git checkout develop
$ git pull

Then create your new feature branch

$ git checkout -b feature/<YOUR_FEATURE_NAME>

To push your latest changes to the repo

$ git push origin feature<YOUR_FEATURE_BRANCH>

When you are ready to merge your feature branch back into develop

  1. Ensure you have pushed your latest changes to the origin feature/<FEATURE_BRANCH> branch
  2. Submit a pull request to the develop branch

Project Components

For more information, check out documentation for the different services:

  • core - for strategy related logic
  • ml - for machine learning models
  • web - for the Telegram bot and web frontend

kryptos's People

Contributors

agalea91 avatar bukosabino avatar dependabot[bot] avatar slavakurilyak avatar treethought avatar

Forkers

aksharj47

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.