sanarflix-web
v2.0.0
Published
<p align="center"> <img src="https://plataforma-sanarflix.s3-sa-east-1.amazonaws.com/logos/logo-inline.png" width="250px">
Downloads
1
Readme
sanarflix-web
This is the frontend application for SanarFlix. The main technologies we use are TypeScript, React (alongside with the ecosytem's default libraries like jest and testing-library), Vite, GraphQL, Apollo and styled components.
| Environment | Deployment Status | URL | |:---------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------:| | dev | | https://sanarflix.alfa.sanar.com.br/aluno | | preprod | | https://sanarflix.beta.sanar.com.br/aluno | | prod | | https://sanarflix.sanar.com.br/aluno |
Installation
Use the package manager yarn to install the project dependencies.
yarn install
Observation: you'll need an authentication token to download dependencies inside @sanar
organization.
Once you have that token, just add it to your .npmrc
file as shown below:
//registry.npmjs.org/:_authToken=<whatever-it-is-your-token>
Running
Make sure to set your environment variables correctly. For that, you have to make a copy of the envs-config.example.js
file and rename it to envs-config.js
in the environments folder.
To have the application up and running on your local environment, just execute the following command:
yarn start
Changes in graphql schema (syncing this client with graphql backend)
Once one changes a schema in the graphql backend (sanarflix-bff, for example), the schema in this application becomes outdated. In order to solve that, it's necessary to execute the following command:
yarn generate
This command will use the url found on codegen.yml
and will sync the src/types/definitions.ts
files with the current
schema found on the backend. The default value is the url of our dev environment, however it's possible change that
to the url of one's sanarflix-bff application running in development environment (such as localhost:3000
) in order to
have correct integration during development time (and potentially fixing tests that might have been affected when the
developer changed the query format for that specific service that was modified). It's important to note that the tests
might still be breaking because some value was added and it's not being considered by the test mocks
Integration/Unit Tests
We use Jest with Testing Library to write our integration/unit tests and it's a good idea to follow the library's guiding principle to writte our tests as well:
The more your tests resemble the way your software is used, the more confidence they can give you.
To run integration/unit tests, just execute the following command:
yarn test
E2E Tests
We use Cypress to write our tests and it's a good idea to follow the library's guiding principle to writte our tests as well:
The more your tests resemble the way your software is used, the more confidence they can give you.
To run E2E tests, at first go to tests directory:
cd /tests/
On the tests folder you may need to configure the environment to run the tests for the first time:
yarn
yarn cypress install
To execute command in local or staging environment:
yarn test:local //or
yarn test:stg
To execute tests opening browser:
yarn test
Contributing
General guidelines around how to contribute can be found here.