Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/emreler/finch
https://github.com/emreler/finch
finch go golang scheduler
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/emreler/finch
- Owner: emreler
- License: mit
- Created: 2017-01-19T20:49:59.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2020-12-19T21:05:50.000Z (about 4 years ago)
- Last Synced: 2024-08-01T12:23:57.723Z (6 months ago)
- Topics: finch, go, golang, scheduler
- Language: Go
- Homepage:
- Size: 151 KB
- Stars: 183
- Watchers: 4
- Forks: 12
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- starred-awesome - finch - Source code for https://usefinch.co (Go)
- awesome-starred - emreler/finch - (golang)
README
# Finch
[![Build Status](https://travis-ci.org/emreler/finch.svg?branch=master)](https://travis-ci.org/emreler/finch)
This is the source code repository for the Finch project.
## What is it
Finch is a simple service that handles scheduled tasks for your apps, services. You can use the developer friendly API to create your tasks to be completed in a future date, periodically repeated. In plain English, you can create tasks like "Send a request to this URL with this JSON body every morning". That could save you a ton of work when just developing a to-do app.For now it can send HTTP requests with GET, POST methods and request body of your choice, which can be plain text, form or JSON.
## How to use it
You can use the Swagger page [here](https://github.com/emreler/finch/blob/master/swagger.yaml) to check the endpoints, required fields, expected responses as well as making the actual API calls.### Getting Access Token
To use the API you will need an access token. You can create yourself one using the `POST /users` endpoint. As a response you will receive the token ([JWT](https://en.wikipedia.org/wiki/JSON_Web_Token)).### Authenticating API calls
As you can see in the Swagger page, all endpoints are expecting `Authorization` header. Value of the `Authorization` header must be in the format `Bearer ACCESS_TOKEN`, where `ACCESS_TOKEN` is the one obtained with the step above.## Running it Yourself
### Using Docker and Docker Compose
You need to have `docker` and `docker-compose` installed on your system. After that it is as simple as running `docker-compose up`. Finch will be listening on `127.0.0.1:8081`, so you can access the API using URLs like `http://localhost:8081/v1/users`.Finch is using MongoDB and Redis for storing its data, and those services are configured to use volumes in `docker-compose.yml`. So your data will remain in `mongo-data` and `redis-data` folders even if you remove the containers.
## License
[MIT](LICENSE)