Giter Site home page Giter Site logo

turbo-guacamole-py's People

Contributors

anthonymbonafide avatar bryangators avatar

Stargazers

 avatar

Watchers

 avatar

turbo-guacamole-py's Issues

Add Server/Client

Add initial Websocket Client and Server.

Story
I need a client and a server that will connect persistently and have bidirectional communication. The client will store in-memory cache that will be validated by the server. The server will be responsible for cache invalidation.

Description
Create a server that runs indefinitely accepting a pool of clients. The server will send/receive messages to and from the clients about cached data. Its main job is to keep all the clients up to date with valid data in their cache. The server will be a websocket.

Create a client that will have a persistent connection to the server via websocket. The client will have a local in-memory cache that the client validates with the server. The cache object will be implemented with a common api allowing the client to perform common operations on the cached data.

Future iterations of will add functionality and handle race conditions where data could be modified simultaneously.

Acceptance Criteria

  • Server script that can be started with command line with optional flags for domain, port and other common configuration options that could be needed.
  • Client object that connects to the server via web-socket. Will expose caching api operations. Client will constantly poll the server to validate the cache as well as communicate any changes to data such as common crud operations for the server to update other caches.
  • Tests for client server connections, communication and updates to data. Test coverage for each unit of code in the client and server.
  • Client/server communicate with RESP communication protocol.

Add CI

Story

When merging to main or specified branch we need to have the test suite run to ensure project still runs as intended.

Acceptance criteria

A fully functioning action workflow that runs tests in project when merging to main. The tests failing should prevent a successful merge.

Add initial Cache Data Structure

Story

As a maintainer
I want an initial cache data structure with some functions that I can use
So that I can start to add functionality over time

Description

Create a class or interface which will encapsulate the foundation of the cache which will grow and be used by the rest of the system. We only need this to be minimal in functionality for now as the structure will allow us to add features later on.

Acceptance Criteria

  • New class or interface is defined with the common APIs a user would be expected to use in order to interact with the cache
  • Tests covering the high level expected functionality.

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.