- Q: What's a typical Stack for a project?
- Q: What is the structure of the codebase in a typical project?
- Q: What kind of testing is used?
- Q: Are there automated tests?
- Q: Who writes automated acceptance tests?
Q: What's a typical Stack for a project?
- REST API, GraphQL, gRPC
Q: What is the structure of the codebase in a typical project?
The structure of the web project is:
/src /components - app components, such as login form or filters panel /screens - app screen (also known as containers) /ui - atomic UI components, such as buttons, form fields, or icons /graphql - everything related to the GraphQL layer /mocks - mocks of GraphQL requests that are used in tests and stories /mutations - mutation documents /queries - query documents /hooks.ts - react hooks auto generated by the graphql-codegen /types.ts - TypeScript types auto generated by the graphql-codegen /hooks - our custom app-wide react hooks /providers - apollo, auth, etc. /routes - app routes (URL to container) definitions /store - redux layer /themes - styled components themes /utils - app-wide utils
The structure of the server is:
/src /datasources - data access layer (including 3rd party APIs) /generated /types.ts - GraphQL types auto generated by the graphql-codegen /graphql - everything related to the GraphQL layer /resolvers /queries - query resolvers /mutations - mutation resolvers /schema.graphql - the GraphQL schema /server - everything related to setup and launch the server /services - service that provide access to gRPC API /utils - app-wide utils /tests - unit tests /**/mocks - mocks used by the tests
Q: What kind of testing is used?
Manual and automated.
Q: Are there automated tests?
A typical project over a while will grow to 300+ scenarios to automated acceptance tests, depending on the complexity of the product.
Q: Who writes automated acceptance tests?
QA Automation engineers.