An open API service indexing awesome lists of open source software.

https://github.com/ethanbaker/align

A tool to easily make plans with friends
https://github.com/ethanbaker/align

Last synced: about 2 months ago
JSON representation

A tool to easily make plans with friends

Awesome Lists containing this project

README

          

[![GoDoc](https://godoc.org/github.com/ethanbaker/align?status.svg)](https://godoc.org/github.com/ethanbaker/align)
[![Go Report Card](https://goreportcard.com/badge/github.com/ethanbaker/align)](https://goreportcard.com/report/github.com/ethanbaker/align)

![1.1.3](https://img.shields.io/badge/status-1.1.3-red)
[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![License][license-shield]][license-url]
[![LinkedIn][linkedin-shield]][linkedin-url]







Logo

Align


Easily schedule nights to meet with friends!


Table of Contents



  1. About


  2. Getting Started

  3. Usage

  4. Roadmap

  5. Contributing

  6. License

  7. Contact

  8. Acknowledgments

## About

Align is a scheduling tool that allows users to schedule events with other users. It is
designed to be modular, so that users can easily receive schedule reminders and updates
through different platforms. Align's uses a configuration file combined with
user-controlled sessions to seamlessly integrate with your own custom tools.

Currently, align allows you to contact users through Discord or Telegram. More outreach
methods are planned in the future!

Check out align's example usages [here](https://github.com/ethanbaker/align/tree/main/examples).

(back to top)

### Built With

* [Golang](https://go.dev)
* [Cron](https://en.wikipedia.org/wiki/Cron)
* [Discord Go](https://github.com/bwmarrin/discordgo)
* [Telegram-Bot-API](https://github.com/go-telegram-bot-api/telegram-bot-api)

(back to top)

## Getting Started

To get started with align, you can follow one of the ready-made examples [here](https://github.com/ethanbaker/align/tree/main/examples).

The general gist of align is as follows:
* You have a project that utilizes a session (Discord, Telegram, etc)
* You have an align configuration file
* You initialize an align manager using your provided config file that attaches itself to the running session

In doing this, you can attach align ontop of other programs, such as a ready-made Discord/Telegram bot.

(back to top)

## Usage

Examples can be found [here](https://github.com/ethanbaker/align/tree/main/examples).
Existing examples include:
* [Discord Implementation](https://github.com/ethanbaker/align/tree/main/examples/discord).
* [Telegram Implementation](https://github.com/ethanbaker/align/tree/main/examples/telegram).
* [Multi-Module Implementation](https://github.com/ethanbaker/align/tree/main/examples/all).

These examples show how align can be attached to already-running sessions with an example
configuration file.

_For more details, please refer to the [documentation][documentation-url]._

(back to top)

## Roadmap

- [ ] Allow for different request/response methods
- [ ] Add SMS outreach method

See the [open issues][issues-url] for a full list of proposed features (and known issues).

(back to top)

## Contributing

For issues and suggestions, please include as much useful information as possible.
Review the [documentation][documentation-url] and make sure the issue is actually
present or the suggestion is not included. Please share issues/suggestions on the
[issue tracker][issues-url].

For patches and feature additions, please submit them as [pull requests][pulls-url].
Please adhere to the [conventional commits][conventional-commits-url]. standard for
commit messaging. In addition, please try to name your git branch according to your
new patch. [These standards][conventional-branches-url] are a great guide you can follow.

You can follow these steps below to create a pull request:

1. Fork the Project
2. Create your Feature Branch (`git checkout -b branch_name`)
3. Commit your Changes (`git commit -m "commit_message"`)
4. Push to the Branch (`git push origin branch_name`)
5. Open a Pull Request

(back to top)

## License

This project uses the Apache 2.0 License. You can find more information in the [LICENSE][license-url] file.

(back to top)

## Contact

Ethan Baker - contact@ethanbaker.dev - [LinkedIn][linkedin-url]

Project Link: [https://github.com/ethanbaker/align][project-url]

(back to top)

## Acknowledgments

* All the friendgroups out there who struggle to connect regularly!

(back to top)

[contributors-shield]: https://img.shields.io/github/contributors/ethanbaker/align.svg
[forks-shield]: https://img.shields.io/github/forks/ethanbaker/align.svg
[stars-shield]: https://img.shields.io/github/stars/ethanbaker/align.svg
[issues-shield]: https://img.shields.io/github/issues/ethanbaker/align.svg
[license-shield]: https://img.shields.io/github/license/ethanbaker/align.svg
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?logo=linkedin&colorB=555

[contributors-url]:
[forks-url]:
[stars-url]:
[issues-url]:
[pulls-url]:
[license-url]:
[linkedin-url]:
[project-url]:

[product-screenshot]: path_to_demo
[documentation-url]:

[conventional-commits-url]:
[conventional-branches-url]: