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:
yarnCreate environment variables:
cp .env.example .envRun the application:
yarn devOpen http://localhost:3000/ in browser.
Unit tests via jest:
yarn testFunctional tests via Cypress:
yarn cy:runRun functional tests interactively:
yarn cy:openBefore committing your code don't forget to format and check syntax:
yarn prettier
yarn lint
yarn check:tsyou-shall=not-passallows 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)./debugpage 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.