Skip to content

Commit

Permalink
Add a requirements document (#12)
Browse files Browse the repository at this point in the history
  • Loading branch information
agile-jordi authored Jun 16, 2023
2 parents 66e7019 + 5f695a2 commit 3dbc977
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 0 deletions.
26 changes: 26 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Deploy

on:
push:
branches:
- main

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
# https://github.com/marketplace/actions/deploy-to-heroku
- uses: akhileshns/[email protected] # This is the action
with:
heroku_api_key: ${{secrets.HEROKU_API_KEY}}
heroku_app_name: "agilogy-time-tracking"
heroku_email: "[email protected]"
branch: main
dontautocreate: true
usedocker: true
docker_heroku_process_type: web
healthcheck: "https://agilogy-time-tracking.herokuapp.com/health"
checkstring: "OK"
delay: 5

40 changes: 40 additions & 0 deletions docs/Requirements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Requirements

## Non functional requirements

- [ ] The application is deployed in a cloud provider
- [ ] The application is usable via an HTTP API in Json
- [ ] Remove the example console application

### The application is deployed in a cloud provider

- [ ] Deploy on Heroku
- [ ] Github actions to deploy on Heroku every time a PR is merged into main

## Functional Requirements (as epics)

- [ ] Inform time entries
- [ ] Listing of my own time entries
- [ ] Invoicing report
- [ ] Authentication & Authorization

### Inform time entries

- [ ] A user can upload a file with the time entries in a period in Toggle format
- [ ] A user can upload a file with the time entries in a period in Tyme format
- [ ] The user time entries are validated or else an error is returned
- Time entries must not overlap
- Time entries can't amount to more than 12 hours per day (parameterizable)
- [ ] A user can re-upload a file with time entries and replace previous time entries in the same period

### Invoicing report

- [ ] Get a report of total hours for a month (or between dates) broken down by project and developer

### Authentication & Authorization

- [ ] Only authorized users can use the application
- [ ] A user is associated with a developer name and she can only upload her own time entries
- [ ] Only certain users can consult information about other developers
- [ ] User credentials / tokens and roles are stored securely
- OUT OF SCOPE: An API/UI to manage users, their credentials and roles

0 comments on commit 3dbc977

Please sign in to comment.