Skip to content

Naučte se základy češtiny a ukrajinštiny pro běžné životní situace. / Вивчіть основи чеської та української мови для повсякденного життя. / Learn the basics of Czech and Ukrainian for everyday life situations.

License

Notifications You must be signed in to change notification settings

petr-hajek/movapp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Readme

Čeština

Cílem Movapp.cz je usnadnit dorozumění mezi Čechy a Ukrajinci. Mова [mova] znamená ukrajinsky jazyk. Movapp je aplikace pro trénink jazyků. Projekt vzniká v komunitě expertních dobrovolníků Česko.Digital. Kontakt: [email protected].

Zdrojový kód je pod MIT licencí. Texty, obrázky a audiosoubory jsou pod licencí CC BY-NC 4.0.

Chcete-li nám pomáhat na dalším rozvoji projektu, vyplňte formulář na cesko.digital/join a přidejte se do Slacku. Najdete nás v kanálu ua-movapp (komunikujeme česky, slovensky, anglicky a trochu také ukrajinsky).

Українська

Мета Movapp.cz – полегшити спілкування між чехами та українцями. Movapp — це програма для мовного навчання. Проект створений у спільноті експертів-волонтерів Česko.Digital. Контакти: [email protected].

Вихідний код знаходиться під ліцензією MIT. Тексти, зображення та аудіофайли ліцензовані відповідно до CC BY-NC 4.0.

Якщо ви хочете стати членом команди волонтерів і допомогти нам розвивати проєкт, заповніть форму на cesko.digital/join та приєднайтеся до нашого Slack. Ви можете знайти нас на каналі ua-movapp (спілкуємося чеською, словацькою, англійською а також трохи українською).

English

The goal of Movapp.cz is to make communication between Czechs and Ukrainians easier. Mова [mohva] means language in Ukrainian. Movapp is an application for language training. The project is developed by Česko.Digital - the community of volunteering experts. Contact: [email protected].

Source code is available under the MIT license. Text, pictures and audiofiles are available under the CC BY-NC 4.0 license.

If you want to help us, fill in the form at cesko.digital/join and join Slack. You can find us in the ua-movapp channel (we speak Czech, Slovak, English, and a little bit Ukrainian).

Development

The web is written in Next.js and hosted on Vercel. To run it locally:

git clone https://github.com/cesko-digital/movapp.git
cd movapp
npm install
npm run dev

Run tests:

npm test

If you have questions, write to us on Slack or create an issue

Development Guidelines

  • TypeScript everywhere (as much as posisble) Avoid the use of any, as typecasting, ts-ignore.
  • Tailwind everywhere (as much as possible). We are trying to keep the styling approach consistent so stick to Tailwind unless you have a specific reason to use something else.
  • Use eslint and prettier in your IDE.
  • Keep it simple. A lot of our contributors are junior/mid-level developers so we favor code-readability and easy onboarding to optimal performance and code cleverness. Dumb is readable, readable is smart.
  • Don't reinvent the wheel. For more complex, standard components (modal, dropdown, etc) we use 3rd party headless libraries like HeadlessUI or RadixUI.

Development Onboarding Notes

  • Intro to Next.js
  • Intro to TypeScript
  • Intro to Tailwind
  • Localization: We use next-i18next to switch localization between the main site language (i.e., Czech) and Ukrainian.
    const { t } = useTranslation();
    ...
    <p>{t('homepage.box_child_title')}</p>
    
  • Language variants: We use the NEXT_PUBLIC_COUNTRY_VARIANT environment variable to decide whether to build the Czech, Slovak or Polish variant of the site. See locales.ts for more details. When making changes, check that your code works in all language variants. The merge request pipeline automatically deploys the preview of each language variant.
  • Data management:
    • We use Airtable for managing the site content (phrases, categories).
    • The data is pulled into the movapp-data repository, enriched with sounds generated using Azure text-to-speech API and hosted on a CDN at data.movapp.eu
    • This website, as well as mobile apps pull the data from the CDN.

Contributions

  • Transliteration tables between Czech and Ukrainian were kindly provided by: vsistek/ua-translit-cz/ under an MIT license.

About

Naučte se základy češtiny a ukrajinštiny pro běžné životní situace. / Вивчіть основи чеської та української мови для повсякденного життя. / Learn the basics of Czech and Ukrainian for everyday life situations.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 87.9%
  • CSS 10.0%
  • JavaScript 2.1%