agora

command module
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 3, 2021 License: MIT Imports: 6 Imported by: 0

README

Agora

Build Status

Agora is a robust REST API that allows you to schedule meetings across various video conferencing platforms.

Contributing

Getting your development enviroment setup is the first step to contributing to Agora. You will need to have Golang, Docker, and your favorite IDE installed.

Once you've cloned the repo, you'll need to checkout a feature branch from develop to start developing. Your feature branch should be named feature\my-feature where my-feature is the name of the feature you are working on. Ideally, your feature should be based on one or more open issues. If you are working on a new feature, open a new issue and tag it appropriately to describe what you are working on. Agora uses the GitFlow workflow which you can read about for more information.

Once your feature is completed, you should test your changes by writing unit tests. You can test your unit tests by running

$ make unit-test

You can also just run go test, but using the make target is recommended since the CI/CD platform uses this same Makefile to test and build images of Agora. This ensures that every developer and our pipelines are using the same exact environment.

Once you've confirmed your tests pass you can then build an image of Agora and start it. To do this, run the command

$ make build-image

This will build a Docker image containing an Agora executable. The image will be tagged with latest and also the SHA of the last commit on the branch you have checked out.

Once the image is built, you can run the image with

docker run agora

Depending on the changes you made, you might need to customize the Docker container that is running by exposing certain ports, creating volumes, etc.

Once you are satisfied with the changes you've made - and you've ensured every unit test has passed, you can push your branch and open a Pull Request.

Before pushing your branch, its reccommended that you pull the lastest changes from the develop branch and attempt to locally merge your branch with develop. If your branch successfully merges, then you are good to push your branch. If your branch has merge conflicts, make sure you resolve those conflicts before you push.

If your PR is accepted and merged to develop, go ahead and delete your feature branch and start working on the next feature by starting the process over again!

Database

Agora relies on some type of relational database to store data. Currently, only MySQL is supported, but more databases can easily be supported by including their driver and passing the appropriate Dialector in a database.Config.

Migrations are found in the database/migrations directory, and should be run against a database using the golang-migrate/migrate project.

For development, a MySQL database with the latest migrations can be brought up by using the docker-compose.yaml file found in the database directory.

Running the command

$ docker-compose up

should bring up a database with the latest migrations applied. You can then bring down the database with

$ docker-compose down

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL