Tax filing application for self employed professionals in Slovakia.
Daňové priznanie pre živnostníkov s paušálnymi výdavkami (DPFO typ B)
Daňové priznanie je jeden z najväčších byrokratických strašiakov podnikateľov. A pritom pri zadaní pár jednoduchých údajov si ho môže vyplniť ktokoľvek za pár minút bez väčších problémov. Chceme takto malými krokmi uľahčiť život státisicom živnostníkov. Ak ste SZČO (živnostník) a uplatňujete si paušálne výdavky, tak vám pomôžeme vyplniť daňové priznanie (k dani z príjmov fyzickej osoby, typ B) a tiež vás detailne prevedieme aj procesom podania na stránkach Finančnej správy.
Tech stack:
- written in Typescript, styles via css-modules
- design based on GOV.UK design system, modified for navody.digital
- based on Next.js.
- financial calculations via decimal.js.
- forms via formik
- testing via jest and cypress (with cypress dashboard)
- code formatted via prettier
To contribute fork this Github repo and create a pull request. If you are not familiar with the process see this guide.
Install dependencies:
yarn
Create environment variables:
cp .env.example .env
Run the application:
yarn dev
Open http://localhost:3000/ in browser.
Unit tests via jest:
yarn test
Functional tests via Cypress:
yarn cy:run
Run functional tests interactively:
yarn cy:open
Before committing your code don't forget to format and check syntax:
yarn prettier
yarn lint
yarn check:ts
you-shall=not-pass
allows direct access to any URL, you dont have to go through whole flow. Also enables debug mode for redirect at the end of the flow (see Navody.Digital Integration below)./debug
page enables you to toggle this cookie.
Add .env
file with env variables:
- sendinbluetoken (for sending feedback emails via 3rd party service sendinblue)
- NEXT_PUBLIC_navodyBaseUrl (redirect to instructions for next steps after generating xmls)
- staging: https://priznanie.staging.slovensko.digital/
- production: https://priznanie.digital/
- Github repository: https://github.com/priznanie-digital/priznanie-digital
- Deployed to staging env via Github Action - Deployment
When the flow is complete we redirect to Navody.Digital. It takes care of sending emails and downloading files.
To debug this integration set you-shall=not-pass
cookie. Instead of automatic redirect you will be able to redirect manually (by clicking a button) or download the XML file. This approach is used also for functional tests.
Tested via Github Action - Quality Assurance:
- Lint and Typescript check:
yarn lint yarn check:ts
- Unit tests:
yarn test --ci
- Functional tests:
- build and start server:
yarn build yarn start
- run functional tests via Cypress - cypress-io/github-action
- runs in parallel and reports to Cypress Dashboard
You can reach us on Slovensko.Digital slack, channel #priznanie_digital.