Old monorepo for LingDocs Pashto dictionary, account, and backend https://dictionary.lingdocs.com
This repository has been archived on 2026-07-15. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • TypeScript 61.9%
  • Cython 29.3%
  • EJS 5%
  • HTML 1.6%
  • CSS 1.2%
  • Other 1%
Find a file
2025-08-29 15:15:18 +05:00
.github back to old account deploy workflow 2025-08-28 11:24:23 +05:00
account hmm downgrading express 2025-08-28 11:50:27 +05:00
functions update deps 2025-08-27 23:36:41 +05:00
website update account deploy flow 2025-08-28 11:20:41 +05:00
.gitignore updating website and moving ci to netlify manual deploy 2025-08-27 14:48:36 +05:00
.npmrc infup 2025-07-29 22:08:13 +05:00
library.ts initial commit in fresh repo 2024-08-14 15:30:10 -04:00
LICENSE initial commit in fresh repo 2024-08-14 15:30:10 -04:00
LingDocsLogo-Complex.jpg initial commit in fresh repo 2024-08-14 15:30:10 -04:00
LingDocsLogoSimple.pxd initial commit in fresh repo 2024-08-14 15:30:10 -04:00
package-lock.json updating website and moving ci to netlify manual deploy 2025-08-27 14:48:36 +05:00
package.json updating website and moving ci to netlify manual deploy 2025-08-27 14:48:36 +05:00
README.md Update README.md 2025-08-29 15:15:18 +05:00
tsconfig.json initial commit in fresh repo 2024-08-14 15:30:10 -04:00
update-inflector.sh initial commit in fresh repo 2024-08-14 15:30:10 -04:00

LingDocs Dictionary Monorepo

NOTE: this mono-repo has been split up archived. The code is working from:

LingDocs Logo

Contents

This monorepo contains:

  • /dictionary-client the frontend of the dictionary, a React SPA
  • /account a backend authentication server
  • /functions backend Firebase functions for use with the dictionary

To update the @lingdocs/pashto-inflector dependency accross the project you can use the shell script included:

./update-inflector.sh [version]

Dictionary Client

SPA Dictionary Frontend

cd website
npm install

Development

npm run dev

Account

Backend authentication server build on express / passport

Development

cd account
npm install
npm run dev

Functions

Backend Firebase functions

cd functions
npm install

Development

firebase login
# get envars locally
firebase functions:config:get > .runtimeconfig.json
# start functions emulator
npm run serve

CouchDB

When a user upgrades their account level to student or editor:

  1. A doc in the _users db is created with their Firebase Authentication info, account level, and a password they can use for syncing their personal wordlistdb
  2. A user database is created which they use to sync their personal wordlist.

There is also a review-tasks database which is used to store all the review tasks for editors and syncs with the review tasks in the app for the editor(s).