This repo is the client application for Algowars. This project was built with:
This project is built with:
- Next.js
- Tailwindcss
- Shadcn
- Auth0
Testing with this project was built with:
- Vitest (Unit Testing)
- Playwright (End to End)
The client application was heavily inspired by Bulletproof React. It was built with Tailwindcss and Shadcn so it makes a lot of architecture decisions based off these libraries.
This solution is broken up into multiple important directories:
Purpose: Contains the routing and related page components. This is required for Next.js.
Purpose: Directory containing common components and tools used throughout the application. This directory is meant to be small as a lot of common folders can become bloated.
Purpose: This folder contains reusable components throughout the application. All of the Shadcn components stay in the ui folder.
Purpose: This folder contains all the components and tools used for a specific feature in the product. These features should not interact with other features.
Purpose: This folder contains all the components and tools that are used for external libraries.
You need node 24 to work on this.
Before you start, make sure you create a .env file and fill out the necessary information from Auth0.
Run the following command:
Bash:
cp .env.example .envTo setup testing. You will need to create a .env.test file and fill out the values similar to .env.example.