cuHacking logocuHacking DevDocs

Quick Start

Why read docs when you can just read the code?

Preface

'Best practices' vary between:

  • Organizations
  • Teams
  • Projects
They're heavily influenced by:
  • Budget
  • Timelines
  • Team Size
  • Team Skillset
  • Team Culture
  • Project Scale
  • Project Stage
  • Technologies
  • Technical debt

There is no one perfect solution. Every decision is always a trade-off. Solutions tend to create new problems, and the best solution is the one that solves the most pressing problems while creating the least amount of new ones.

Steps

Woah there 10xer, just a moment!

If you use Windows, read System Requirements before proceeding.

Woah there 10xer, just another moment!

We are also in the process of a colossal monorepo migration. Ensure to navigate to the correct directory before running any directory-specific commands.

See more information here.

Read Tools Overview to understand the technologies used.

Install Docker.

Docker Desktop provides a nice UI if you prefer clickity clicks

Install Node.js (v20+).

Install pnpm.

Terminal
npm i -g pnpm

Clone source repository.

Terminal
 git clone https://github.com/cuhacking/2025.git

Navigate to directory and install dependencies.

terminal
cd 2025
pnpm i

Install playwright browsers.

terminal
pnpm exec playwright install

Spin up development docker containers, one of which contains the PostgreSQL database.

Hold your horses!

Docker daemon (i.e. Docker Desktop) should be running before proceeding!

terminal
docker-compose up -d

Enable authentication providers. OAuth providers need to be configured for you to use authentication in your development environment.

Run Drizzle Push, to push the latest migration to your development database.

Terminal
pnpm nx run db:push

Run the project of your choice.

Terminal
pnpm nx run website:dev

You'll see the url(s) in your terminal for the project(s) you're running, simply paste those in to your browser address bar.

For example you may see:

Terminal
╰─ pnpm nx run docs:dev
 
> pnpm nx run docs:dev
 
> next dev
 
 Next.js 14.2.3
 
- Local: <http://localhost:3000>
 Starting...
automatically enabled Fast Refresh for 1 custom loader

As the project is in its early stages, these URLs may change. If you have multiple apps running or have another server using that network port, yours may be different from someone else's and that's okay.

Always look at your terminal for the correct URL.

Final Step

Profit.

Last updated on

On this page

Edit on GitHubMade with 🩶 for Hackers by Hackers