Skip to content

go-revise is a Telegram bot designed to help you retain and reinforce information over time. Whether it's an article you’ve read about maps in Go, or any other topic, the bot ensures you don’t forget by prompting you to revisit the content at regular intervals.

License

Notifications You must be signed in to change notification settings

ARUMANDESU/go-revise

Repository files navigation

V


go-revise

Table of Contents
  1. About The Project
  2. Getting Started

About The Project

A Telegram bot designed to help you retain and reinforce information over time. Whether it's an article or video, the bot will remind you to revise it at the right time.

More details

Intervals

The bot uses the Spaced repetition technique to remind you to revise the information. The intervals are as follows:

(back to top)

Built With

Go SQLite

(back to top)

Getting Started

Prerequisites

  • Go version 1.23.0

  • Taskfile 3

      go version
      task --version

Installation

  1. Clone the repo
    git clone https://github.com/ARUMANDESU/go-revise.git
  2. Change directory
    cd go-revise
  3. Write the environment variables in the .env file
    ENV_MODE=local #local, test, dev, prod
    # sqlite3 database file name, it will be created in cache directory
    # On linux in $HOME/.cache. On Darwin, in $HOME/Library/Caches. On Windows in %LocalAppData%
    DATABASE_URL=go-revise.db
    
    TELEGRAM_TOKEN= # Telegram bot token generated by BotFather
    # URL to which Telegram will send updates.
    # Is pointed to the port on which the service listens, for local development use ngrok or similar services
    # But for dev and prod, it should be a public URL with a valid SSL certificate (https)
    TELEGRAM_WEBHOOK_URL= 
    TELEGRAM_PORT=4000  # Port on which the service will listen for updates
    TELEGRAM_URL=:$TELEGRAM_PORT 
    
    HTTP_PORT=5000
  4. Run the service
    task local

Testing

  1. Coverage
    task tc
  2. Unit tests
    task tu
  3. Integration tests
    task ti

(back to top)

Structure

structure.png app_structure.png

About

go-revise is a Telegram bot designed to help you retain and reinforce information over time. Whether it's an article you’ve read about maps in Go, or any other topic, the bot ensures you don’t forget by prompting you to revisit the content at regular intervals.

Topics

Resources

License

Stars

Watchers

Forks

Languages