To setup the project on Windows, you will need the following:
- Git (download
Git for Windows Setupfrom the latest release and run it) - NVM for Windows (download
nvm-setup.exefrom the latest release and run it) - Windows PowerShell
To setup the project on Linux/MacOS, you will need the following:
- Git (
sudo apt install git) - nvm
You can install nvm via
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bashOpen a new command prompt window and run the following commands to install Node.js 18 and Bun:
nvm install 18
nvm use 18
npm install --global bunNow we will download the project. Move to the directory where you want to download the project to (using cd) and run:
git clone git@github.com:CodeyBoi/appendix3.gitNote: This requires you to have SSH set up (instructions for doing that can be found here). I would highly recommend doing this, as it makes it much easier to push code to the repository. If you don't want to set up SSH, you can use the following command instead:
git clone https://github.com/CodeyBoi/appendix3.gitThis will download the repo into a new folder appendix3. Then, we will change directory to the newly cloned repo and install the dependencies via
cd appendix3
bun install
bun next telemetry disableThis will install all needed dependencies for the project.
NOTE: If you're using Windows, you might get an error saying something like bun.ps1 cannot be loaded because running scripts is disabled on this system. If this happens, you need to open a new PowerShell window as an administrator (right click on the PowerShell icon and click Run as administrator) and run the following command:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSignedThen, close the PowerShell window and open a new one. You should now be able to run bun install without any issues (hopefully).
We will now define some environment variables. Copy the .env.example file to .env via
cp .env-example .envThen, open the .env file and fill in the values. NEXTAUTH_SECRET should be set to any random value. Do this by running
openssl rand -hex 32Paste the output into the NEXTAUTH_SECRET variable.
Ask your local ITK for what values to put in the other fields.
To set up the database locally (which is what we will be using for development), we will run
bunx prisma generateThe schema for this database can be found here.
To start the development webserver, we will run
bun devIf everything went well, you should be able to see a login screen at http://localhost:3000!
The database schema is defined in /prisma/schema.prisma. To modify the schema, simply make a change to this file and run
bunx prisma db pushBe careful when modifying the schema, as some changes may require you to lose some data (e.g renaming or removing a column) or even the entire database. Prisma will warn you about this when you do a push, so be sure to read the warning carefully.