MCPcopy Index your code
hub / github.com/Levofron/NotionLingo

github.com/Levofron/NotionLingo @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
525 symbols 1,705 edges 457 files 0 documented · 0% updated 3y ago★ 61
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

NotionLingo

Elevate your vocabulary with our cutting-edge app! Our intuitive platform allows you to easily learn new words and phrases from your own Notion database!

Motivation and goals

  • I needed an app to easily and really, really fast learn new vocabulary
  • I wanted to test clean architecture approach on frontend for production ready application
  • I wanted to create some app to see how is web scrapping working

Screenshots

Dashboard

Onboarding

Architecture diagram

Architecture

The article that describes the diagram above

The article that describes the presentation layer

Features

  • Customizable language learning
  • Text-to-speech APIs
  • Auto-generated images
  • IPA text generation for each word
  • Basic statistics
  • Intuitive interface for finding, creating, and updating words
  • Fast API ideal for large libraries of words
  • Personalized vocabulary lists
  • Progress tracking

Tech Stack

Client: React, NextJS, ChakraUI, Typescript, Formik, Framer-motion, Yup

Server: Cheerio, Supabase, NotionIQ, Axiom

Installation

Install my-project with npm

  1. Clone the repo
  git clone https://github.com/Levofron/NotionLingo.git my_project_name
  1. Open a project directory with:
  cd my_project_name
  1. Install NPM packages:
  yarn

License

MIT

Extension points exported contracts — how you extend this code

ProcessEnv (Interface)
(no doc)
types.d.ts
SetSpeechSynthesisValueToLocalStorageParams (Interface)
(no doc)
client/repository/speech-synthesis/operations/set-speech-synthesis-value-to-local-storage/set-speech-synthesis-value-to-local-storage.types.ts
UseCaseWithSingleParamAndPromiseResult (Interface)
(no doc)
client/domain/use-cases.types.ts
UserContextValue (Interface)
(no doc)
client/shared/context/user/user.types.ts
SpeechSynthesisApi (Interface)
(no doc)
client/api/speech-synthesis/speech-synthesis.types.ts
SidebarContentProps (Interface)
(no doc)
client/presentation/molecules/sidebar-content/sidebar-content.types.ts
MeaningWithExamples (Interface)
(no doc)
pages/api/dictionary/find.ts
DatabaseProperties (Interface)
(no doc)
server/utils/is-valid-notion-database-schema/is-valid-notion-database-schema.types.ts

Core symbols most depended-on inside this repo

functionImportTest
called by 56
client/shared/functions/function-import-test/function-import-test.function.ts
getRestApi
called by 33
client/api/rest/rest.api.ts
useRouter
called by 30
client/shared/hooks/use-router/use-router.hook.ts
withMiddleware
called by 20
server/utils/with-middleware/with-middleware.function.ts
validateRequestMethodMiddleware
called by 20
server/utils/validate-request-method-middleware/validate-request-method-middleware.function.ts
useAxios
called by 19
client/shared/hooks/use-axios/use-axios.hook.ts
getRestRepository
called by 18
client/repository/rest/rest.repository.ts
cleanUpString
called by 18
client/shared/functions/clean-up-string/clean-up-string.function.ts

Shape

Function 374
Interface 145
Enum 3
Class 2
Method 1

Languages

TypeScript100%

Modules by API surface

client/domain/rest/rest.use-cases.ts15 symbols
client/adapter/hooks.ts15 symbols
client/domain/speech-synthesis/speech-synthesis.use-cases.ts13 symbols
scripts/node/convert-pages-directory-to-routes-enum.mjs10 symbols
pages/api/dictionary/find.ts10 symbols
client/domain/rest/rest.models.ts10 symbols
pages/api/notion/random-words.ts7 symbols
client/presentation/pages/onboarding/onboarding.page.tsx6 symbols
client/presentation/organisms/notion-word-card-back/notion-word-card-back.component.tsx6 symbols
client/domain/use-cases.types.ts6 symbols
client/repository/speech-synthesis/speech-synthesis.repository.ts5 symbols
client/presentation/providers/user-provider/user-provider.component.tsx5 symbols

For agents

$ claude mcp add NotionLingo \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page