Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/perebaj/contractus
Jamming around orders with API endpoints 🎸
https://github.com/perebaj/contractus
api golang
Last synced: about 6 hours ago
JSON representation
Jamming around orders with API endpoints 🎸
- Host: GitHub
- URL: https://github.com/perebaj/contractus
- Owner: perebaj
- Created: 2023-09-25T16:21:31.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-02T14:37:09.000Z (about 1 year ago)
- Last Synced: 2024-06-21T06:18:15.285Z (5 months ago)
- Topics: api, golang
- Language: Go
- Homepage:
- Size: 1.75 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# contractus
![Logo](/assets/blackbackground.png#gh-dark-mode-only)
![Logo](/assets/whitebackgroun.png#gh-light-mode-only)![image](assets/contractus.png)
# Contractus
Jamming around orders with API endpoints 🎸
## Environment Variables
If you want to run this project locally you must set up these environment variables:
CONTRACTUS_GOOGLE_CLIENT_ID
CONTRACTUS_GOOGLE_CLIENT_SECRETThis can be done in your terminal, where you export the variables, and then in the same terminal, run the service startup command `make dev/start`
**Note:** To create your own Google Client for OAuth2.0, access the following [link](https://console.cloud.google.com/apis/credentials), without these secrets, the service won't run locally, but it's possible to access it using the link present in the repository details on GitHub
## Get Started
To start the service locally, you can type `make dev/start` and after that you can use the docker container IP to play around the routes, `make ip`
Request example:
curl (make ip)
Or just accessing `http:/localhost:8080`
## Command line
All commands are synthesized in the Makefile `make help`, to start the development environment, just run:
make dev/start
make dev <- You will be able to run commands inside the containerAfter running `make dev`, it's possible to run the following commands inside the container:
- The integration tests: `make integration-test testcase=<>`
- The Unit tests: `make test testcase=<>`
- The lint: `make lint`Or, it's also possible run from local:
- make `dev/integration-test testcase=<>`
- make `dev/test testcase=<>`The testcase variable could be used to run a specific test
## Ship a new version
`make image/publish`
`heroku container:release web -a contractus`## Logs
Production
`heroku logs --tail -a contractus`Local:
`make dev/logs contractus`## API documentation
[API Docs](api/docs/)## It's also good to know
- You can log in to the service using your Google account. No bureaucracy to 🎸
- Structured logs all the way 🥸
- Deployed to the open sea through Heroku 🌊 (Check the repository details to access the link)
---
- For a while, the integration-tests just ran locally not in CI 😔, this increased the time to 🚀 code;
- We don't have a way to paginate transactions yet; 😔
- To publish images and new releases, for now, the only way is using the command line, isn't automate by CI yet; 😔
- The infra isn't automated by the power of the IAC yet.😔 Button engineer only. 🔘✅