Time tracker app
Time-tracker is a small full stack web app, that can help a freelancer track their time.
User stories:
- As a user, I want to be able to start a time tracking session
- As a user, I want to be able to stop a time tracking session
- As a user, I want to be able to name my time tracking session
- As a user, I want to be able to save my time tracking session when I am done with it
- As a user, I want an overview of my sessions for the day, week and month
- As a user, I want to be able to close my browser and shut down my computer and still have my sessions visible to me when I power it up again.
How to start
# To generate graphql schemas
# Note: see server/graph/schemas and also ./gqlgen.yml
$ make schema
# Use this command to start the service locally
$ make local
# To run tests
$ make test
# build a binary for the api
$ make build
# generate mocks
$ make gen-mocks
# runs go vet
$ make vet
# runs go fmt to format files
$ make fmt
Deployments
Features
- Signup
- Login
- Refresh tokek
- Get user info
- save session
- view saved sessions
- update session
- delete session
- Go
- GraphQL
- MongoDB (datastore)
- Heroku (deployment)
Internal Error definition
Code |
ErrorType |
Detail |
101 |
InvalidRequestErr |
invalid request parameters |
102 |
InternalErr |
Internal error |
103 |
DatabaseErr |
database error |
104 |
InvalidAuthErr |
email or passcode invalid |
105 |
CustomerNotFoundErr |
invalid customer id |
106 |
SessionNotFoundErr |
invalid session id |
107 |
EmailExistsError |
Duplicate Email found |