Giter VIP home page Giter VIP logo

align's Issues

SQL Implementation doesn't properly delete entries

The align bot sometimes produces incorrect schedule results. When performing the operation necessary to calculate schedules, align is pulling from the wrong messages, meaning the calculated schedule is different from the correct schedule that could be returned.

I believe this occurs when the program attempts to delete an entry. When the program attempts to delete an entry, this log message is returned:

/go/pkg/mod/github.com/ethanbaker/[email protected]/discord.go:224 ^[[35;1mWHERE conditions required
[[0m^[[33m[0.919ms] ^[[34;1m[rows:0]^[[0m UPDATE `discord_entries` SET `deleted_at`='2024-08-26 14:00:12.489' WHERE `discord_entries`.`deleted_at` IS NULL

This idea also matches the SQL tables present in the application, which contain entries that should have a non-null deleted_at field but do not.

Done Criteria:

  • Functionality is repaired such that the correct schedules are returned and entries are deleted at the right time
  • Logging is added to include message IDs to guarantee this behavior in logs

Add SMS Implementation

An SMS implementation should be added to users can receive requests/responses through SMS.

Done Criteria:

  • SMS Response function
  • SMS Request function

Add logging

Logging needs to be improved in the align project in order to provide better logs for when expected outcomes break.

Done Critiera:

  • Logging of important information to the system log

Add option for concurrent outreach

Performing outreach tasks can be slow when done synchronously. This process can be sped up dramatically if go funcs are used to concurrently send messages.

Done Criteria:

  • Option to use concurrency when sending messages
  • Concurrent message implementation

Dates on gather day do not correlate with dates on contact day

The dates sent to the user after information is gathered does not represent the dates that were asked about on the contact day. This is because the dates are calculated using the current day, which can vary from contact time to information-gather time.

Done Criteria:

  • Dates are calculated using the day contact is performed

Add Telegram Implementation

A telegram implementation should be added to users can receive requests/responses in telegram.

Done Criteria:

  • Telegram Response function
  • Telegram Request function

Today calculation in offset isn't calculated correctly

The today calculation in the manager.go file calculates today incorrectly due to timezone/truncation differences. This should be improved so that today accurately reflects the current day, thereby leading the offset field in the config file to work correctly.

Flesh out README

The README is completely bare bones in its current state. The README should be populated with descriptions and text to provide meaningful content/context to the project.

Done Criteria:

  • Fully fleshed out README

Persist availability

The current version of align only works through keeping a thread running constantly. If the program is interrupted, the thread will end and the program will break, regardless of if the process running align comes back on. There should be an option to persist data to allow align to run even if the thread ends.

Done Criteria:

  • Option for data to persist on threads stopping
  • Reset thread listeners if program is restarted

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.