A guide on how to run the codebase locally.
apps
directory contains the code for:
web
: The frontend of the Novoyager’s applicationapi
: Novoyager’s FastAPI backend - written in Pythondocs
: Novoyager’s documentation sitepackages
directory contains the code for:
eslint-config
: ESLint configurations for Novoyager’s codebase. Boilerplate code included as part of the create Turbo commandtypescript-config
: TypeScript configurations for Novoyager’s codebase. Boilerplate code included as part of the create Turbo commandnpm
:
pipx
:
Clone the repo
Install dependencies
Open code-workspace
.vscode
folder at the project root.Navigate to novoyager/.vscode/
and double click novoyager.code-workspace
to open in VS Code, or, in VS Code navigate to File and then Open Workspace from File.code-workspace
, must stay the same, but it can be changed to novoyager.code-workspace
api
folder in its own VS
Code window, but using the pre-configured Workspace is recommended.api
directory:
Create a virtual environment
api
directory through poetry:poetry.lock
file. This is a version mismatch between the version
installed and the version used to generate the lock file. You can fix this
by deleting the poetry.lock
file and running poetry install
again.Configure .env file
.env
file in the api
directory and add the following environment variables:Create an account and new project
Add credentials to `.env`
Project API Key
and URL
values and add these to the .env
file in the api
directory, as described in step 3 of the Python setup.Create tables
.csv
files located in the api
root, but the tables must be created before seeding.From the dashboard, visit the Table Editor
and click the New table
button.users
and spells
tables with columns that match their respective CSV columns. Below is how they are both configured:Upload CSV seed data
.csv
files. From the Table Editor
, click the Insert
button and select the
relevant .csv
file to upload.Login via Turborepo CLI
bash npx turbo login
This
will authenticate the Turborepo CLI with your Vercel
account.Link your Turborepo to your Remote Cache
bash npx turbo link
package.json
or by running the pnpm run dev
command from a
terminal activated in the desired target locationdev
command from the project root can make VS Code use your global Python installation,
instead of the .venv
created in the api
root. By using a Workspace, this alleviates the problem.
/.vscode/
directory, you’ll find a novoyager.code-workspace
file. Open this file in VS Code to open the monorepo Workspace.
Frontend (web) folder open without using the Workspace
Workspace tasks
launch.json
debug configuration files and displays them with the folder name as a suffix.
Additionally VS Code will also display launch configurations defined in the workspace configuration file.
Run and debug panel
novoyager.code-workspace
file and add the configurations you wish to launch.
open workspace config
Python Envy
Workspace Terminals (recommended)
Workspace Terminals in VS Code