Sign inSign up

irisgarcia/workday

By irisgarcia

•Updated almost 7 years ago

Image
0

233

irisgarcia/workday repository overview

[[https://www.gnu.org/licenses/gpl-3.0][https://img.shields.io/badge/License-GPLv3-blue.svg⁠]] [[https://travis-ci.com/iris-garcia/workday][https://travis-ci.com/iris-garcia/workday.svg?branch=master⁠]] [[https://github.com/iris-garcia/workday/actions][https://github.com/iris-garcia/workday/workflows/Unit%20tests/badge.svg⁠]]

  • Workday ** What's the idea? Since last May 12, 2019 every Spanish company is required to provide their employees a process to record their working hours.

This process can be as simple as signing in a paper the checks in and checks out for every single workday; but any other process can be used and this is the reason for which I decided to develop this project.

Initially the idea is to provide a RESTful API which could be used in any company to register those checks in and checks out, and allow the "administrators" to retrieve the data at any time they are requested to.

** How is it going to be developed?

  • RESTful API design.
  • Test-driven development and Behavior-driven development.
  • Isolated development environment (probably using Docker containers).
  • Continuous Integration.
  • Gitflow workflow.
  • Storing persistent data in a relational database.
  • Logging services.
  • Authentication

** Documentation The extended documentation is hosted under [[https://iris-garcia.github.io/workday/⁠]].

** Build Tool [[https://magefile.org/][Mage⁠]] is the build tool used in this project, for further details check out the [[https://iris-garcia.github.io/workday/dev/tools/#mage][documentation⁠]].

#+begin_src bash buildtool: magefile.go #+end_src

** Docker container #+begin_src bash Contenedor: http://api-workday.apps.us-east-2.starter.openshift-online.com⁠ #+end_src

** OpenShift Deployment #+begin_src bash deployment: http://api-workday.apps.us-east-2.starter.openshift-online.com⁠ #+end_src

The documentation showcasing how to get the project deployed in OpenShift is hosted [[https://iris-garcia.github.io/workday/deployment/openshit/][here⁠]].

** Docker The latest version of the project as a Docker image is hosted in [[https://hub.docker.com/][Docker⁠ Hub]]: #+begin_src bash dockerhub: https://hub.docker.com/r/irisgarcia/workday⁠ #+end_src

** Provision There is an Ansible playbook which can be used to provision a machine, setting up the infrastructure needed to deploy the app. #+begin_src bash provision: .packer/ansible/workday.yml #+end_src

The vagrant box already provisioned can be downloaded here: #+begin_src bash vagrant: https://app.vagrantup.com/igarcia/boxes/workday⁠ #+end_src

  • How to contribute ** Setup the environment
  1. Fork the repository.
  2. Clone your forked repository.
  3. Install the build tool mage #+begin_src bash go get github.com/magefile/mage #+end_src
  4. Run mage build to install the dependencies and build the binary.
  5. (optional) Run mage startdev to bootstrap a mariadb docker container.
  6. To run the API HTTP Server issue the command: mage start.

** Add your contribution

  1. Create a new branch:
    • bug/short-description
    • feature/short-description
  2. Write tests to cover your changes.
  3. Run the tests. #+begin_src bash mage test #+end_src
  4. Push the branch to your fork once you think everything works as expected.

** Request the integration

  1. Create a Pull Request from your branch to master.
  • To be removed Build Status

Tag summary

Content type

Image

Digest

Size

8.3 MB

Last updated

almost 7 years ago

docker pull irisgarcia/workday