Reasonote is your personal AI learning assistant - a hub for mastering the information you value most. It's an intelligent knowledge management platform that helps you capture, organize, and deeply understand complex information.
Key features:
- 📄 Document Processing: Upload PDFs or text files and Reasonote automatically extracts the knowledge
- 🧠 Knowledge Graph: Build connections between concepts with automatically generated knowledge graphs
- 📚 Interactive Lessons: Learn with bite-sized (10-20 minute) interactive lessons that fit into your schedule
- ✏️ AI-Generated Practice Activities: Master material with AI-generated practice activities with citations to source material
- 🌐 Open Source: Built on open-source foundations, so you can see under the hood and make it your own
System Compatibility: For the optimal experience, we recommend using macOS or Linux-derived systems. If you're on Windows, please use WSL (Windows Subsystem for Linux) as Reasonote has limited testing on native Windows environments.
- Install Prerequisites
git clone
this repositorycd [DIRECTORY_YOU_CLONED_TO]
Reasonote is a Full-Stack application with the following components:
- Postgres (Supabase) DB for persistence (includes auto-generated Rest/GraphQL APIs, Real-Time change detection, and Auth)
- Next.js Frontend
- Bun Workers (Vectorization, etc)
To Get Started:
- Populate your
.env
file with the correct values. You can use the.env.example
file as a template. AnyREQUIRED
values should be filled out for basic functionality.OPTIONAL
values are not required, but may be needed for certain features. yarn install
-- install dependenciesyarn dev
to run (oryarn dev:log
to run with logfile output) This will start the following process groups:- DB + DB API (Supabase): The local supabase set of Docker containers.
- Next.js: The Next.js server, which will automatically reload on changes.
- Graphql-Codegen: The graphql-codegen server. This will listen to the DB API and generate typescript types for the graphql schema.
That's it! You should be fully running.
You should be able to access the Next.js app at this point by going to http://localhost:3456
The default credentials are:
- Email:
[email protected]
- Password:
rootchangeme
(You should save these to your password manager so you don't have to type them often!)
yarn type-check
-- Runs the typescript checker for the entire monorepo. Useful for catching errors before trying to perform a build.
NOTE: some test commands will be changing in the near future.
yarn test:fe:vitest
yarn test:vitest
-- Runs unit tests at the top level of the monorepo.
Usually, you should install new dependencies in a specific app or package, rather than in the root.
You can do this by running yarn workspace @reasonote/[app-or-package] add [dependency]