Old monorepo for LingDocs Pashto dictionary, account, and backend
https://dictionary.lingdocs.com
- TypeScript 61.9%
- Cython 29.3%
- EJS 5%
- HTML 1.6%
- CSS 1.2%
- Other 1%
| .github | ||
| account | ||
| functions | ||
| website | ||
| .gitignore | ||
| .npmrc | ||
| library.ts | ||
| LICENSE | ||
| LingDocsLogo-Complex.jpg | ||
| LingDocsLogoSimple.pxd | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| update-inflector.sh | ||
LingDocs Dictionary Monorepo
NOTE: this mono-repo has been split up archived. The code is working from:
- https://github.com/lingdocs/pashto-dictionary-spa
- https://github.com/lingdocs/pashto-dictionary-lambda
- https://github.com/lingdocs/lingdocs-backend
Contents
This monorepo contains:
/dictionary-clientthe frontend of the dictionary, a React SPA/accounta backend authentication server/functionsbackend 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:
- A doc in the
_usersdb is created with their Firebase Authentication info, account level, and a password they can use for syncing their personal wordlistdb - 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).