Woovi Stack
Tags: typescript, webdev, programming, graphql
Published: 2022-10-03 12:22:41


[Woovi](https://woovi.com) focuses on delivering features that customers need and improving them. For this, we also seek to follow processes and techniques that allow us to move the following:

- Deliverability
- Quality
- Speed

Let's get to know a little bit of our stack that makes it possible to reach the above principles making the process easy.

**Woovi**
[Woovi](https://woovi.com) is a Startup that enables shoppers to pay as they like. To make this possible, Woovi provides instant payment solutions for merchants to accept orders.

**Javascript**
The whole stack focus on Javascript with Typescript on the backend and front end. 

We bet in the javascript environment based on all technologies existent in it, the open source world, libraries, and contributors, and principally in the cost-benefit when hiring a junior developer and teaching it.

**Backend**
Our backend focuses on delivering the best experience for our internal platform and public services like our [API](https://developers.openpix.com.br/api) and [PluginJs](https://developers.openpix.com.br/docs/plugin/).

The main technologies are:
- Javascript and Typescript;
- MongoDB;
- Koa.js;
- GraphQL;
- GraphQL Helix;
- GraphQL Websocket Protocol;
- Bull Jobs;
- Jest for tests with graphql and supertest;

**Frontend**
The front end follows the Javascript and Typescript to deliver a good experience for the final user and combine technologies with the backend.

The main technologies are:
- Javascript and Typescript;
- React;
- GraphQL;
- Relay;
- Jest for tests with React Testing Library;

**Deep dive**
Going deep, below you can find a more detailed list of our stack:

- Backend with Node.js, MongoDB, Koa.js, GraphQL-Helix
- Frontend with React, React Native, GraphQL, Relay
- Jest and typescript for both sides
- Javascript (language)
- Typescript (type system)
- Node (backend framework)
- Koa.js (server framework)
- GraphQL (API)
- Mongoose (mongo schema)
- bulljs (event-driven distributed jobs)
- Jest (test framework)
- Supertest (HTTP tests)
- Webpack (bundling server and frontend apps)
- rollup (bundling for packages and libraries)
- babel (enable modern syntax and plugins)
- jscodeshift (codemod)
- openapi (API REST documentation)
- Docusuarus (documentation)
- Gatsby (landing page)
- NextJs (landing page)
- Prettier (code formatting)
- Eslint (lint rules)
- Hygen (codegen)
- Redis (cache, queue management, pubsub)
- ws + graphql-ws (for WebSockets)
- react (declarative ui)
- relay (declarative data fetching)
- styled-components (CSS in js)
- storybook (design system and email builder)
- testing library (testing dom)
- material-UI (UI base components)
- styled-system (functional CSS)
- react-router (routing)
- nivo + d3 (for charts)
- react-table (table management)
- draftjs (rich text)
- recoil ("global" state management)
- formik (forms)
- react-native (native apps)
- Fastlane (android/ios deploy automation)
- CircleCI + GitHub actions (CI/CD)

If you want to work with us, we are [hiring](https://woovi.com/jobs/)!

Photo by <a href="https://unsplash.com/@jonathanborba?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Jonathan Borba</a> on <a href="https://unsplash.com/s/photos/motor?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>