Created
October 22, 2019 14:02
-
-
Save glippi/cdce81b0c5638bd352253d1ff770fed5 to your computer and use it in GitHub Desktop.
Example of technical documentation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 🧙 merlin-serverless | |
> Skills and Craftspeople management tool | |
## :construction: Work in progress: | |
This repository contains a the work that we started on the branch `graphql-hasura` of [merlin's repository](https://github.com/codurance/merlin). | |
The scope is to build an application that should help Codurance's members to | |
have a quick overview of all the people that work in the company and their | |
skills, together with some other informations about location and whether they're in the bench or not. | |
**It's important to note that for the nature of the project, where we experiment a lot with new technologies (Hasura, GraphQL, react-apollo), we tried to keep the code as clean as possible, but there is still huge margin of improvements, especially in some areas of the app, also in the tests.** | |
## :battery: Tech stack: | |
* AWS Lambda | |
* Postgres | |
* Hasura (GraphQL) | |
* React | |
**More details on how is implemented the frontend:** | |
We are using `react` with `JavaScript`. | |
We don't use any library for managing the state, we just rely on react `context`. | |
To style the components we are using `tachyons`, this means that instead of | |
having to write manually the css, we just use the class provided by the | |
stylesheet of `tachyons`. In order to take advantage of tachyons, you shouldn't find yourself writing any class inside the stylesheet. | |
The workflow should be the following: | |
``` | |
I want a width of 100% | |
I search in stylesheet of tachyons in order to find the name of the class that | |
have this responsability | |
Go to https://cdnjs.cloudflare.com/ajax/libs/tachyons/4.11.1/tachyons.css | |
and type CTRL-f, searching for width: 100% | |
find the relevant class (in this case w-100) and copy and paste this value | |
inside the className attribute of your component | |
``` | |
For more info about tachyons, go [here](http://tachyons.io/). | |
For the tests we are using `jest`, `testing-library/react-testing-library`, `cypress`. | |
## :clipboard: Project Management tools: | |
At the moment we have two differents places where we update the status of the | |
project: | |
* [Taiga](https://taiga.codurance.com/project/jim-merlin/timeline) | |
* [GitHub Projects](https://github.com/codurance/merlin-serverless/projects/1) | |
The latest and most updated source of the tasks and their status is the `GitHub | |
Projects` section. The reason is that `taiga` was first introduced when we | |
started the project with the apprentices. When we moved everything to `serverless` we started to work on a new repository and we start to keep track of everything inside the README first, and the projects board then. | |
## Sequence Diagram: | |
![Sequence diagram](./img/sequence.svg) | |
// to see the diagram go here: https://mermaidjs.github.io/mermaid-live-editor/#/edit/eyJjb2RlIjoic2VxdWVuY2VEaWFncmFtXG4gICAgcGFydGljaXBhbnQgQ2xpZW50XG4gICAgcGFydGljaXBhbnQgUzNcbiAgICBwYXJ0aWNpcGFudCBHYXV0aDJcbiAgICBwYXJ0aWNpcGFudCBIYXN1cmFcbiAgICBwYXJ0aWNpcGFudCBBdXRoTGFtYmRhXG5cbiAgICBDbGllbnQgLT4-IFMzOiBHRVQvXG4gICAgUzMgLT4-IENsaWVudDogc3RhdGljIGZpbGVzXG4gICAgQ2xpZW50IC0-PiBHYXV0aDI6IExvZ2luXG4gICAgR2F1dGgyIC0-PiBDbGllbnQ6IHRva2VuSWRcbmFsdCBhdXRoZW50aWNhdGVkIHVzZXJcbiAgICBDbGllbnQgLT4-IEhhc3VyYTogR0VUL2RhdGFcbiAgICBIYXN1cmEgLT4-IEF1dGhMYW1iZGE6IHZlcmlmeSB0b2tlbklkXG4gICAgQXV0aExhbWJkYSAtPj4gSGFzdXJhOiAyMDBcbiAgICBIYXN1cmEgLT4-IENsaWVudDogZGF0YVxuZWxzZSB1bmF1dGhlbnRpY2F0ZWQgdXNlclxuICAgIENsaWVudCAtPj4gSGFzdXJhOiBHRVQvZGF0YVxuICAgIEhhc3VyYSAtPj4gQXV0aExhbWJkYTogdmVyaWZ5IHRva2VuSWRcbiAgICBBdXRoTGFtYmRhIC0-PiBIYXN1cmE6IDQwMVxuICAgIEhhc3VyYSAtPj4gQ2xpZW50OiA0MDFcbiAgICBDbGllbnQgLT4-IEdhdXRoMjogTG9naW5cbiAgICBHYXV0aDIgLT4-IENsaWVudDogdG9rZW5JZFxuZW5kXG4iLCJtZXJtYWlkIjp7InRoZW1lIjoiZGVmYXVsdCJ9fQ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment