The Quaver SV Difficulty System (or QSVDS for short) is a player-managed database of SV charts and their respective difficulties. The site is meant to provide information to both SV beginners and SV pros, as well as for players to show off their SV prowess. QSVDS is based solely on Quaver and its APIs.
Note that the current design is very incomplete. The site will undergo a complete overhaul spearheaded by zeph.
- ESV-Sweetplum - Developer
- zeph - Graphic Designer
- EBE - Organizer
When you log into the site, you will start out as a player. If you reach a high enough level within certain charts and the SV community in general, you can apply to become a contributor.
- Track your best scores on SV maps
- Compete with other players on SV leaderboards
- Submit reports of suspected cheaters
- Do all of the above
- Add maps to the database
- Submit ratings to the database
This website is built with the Next.js framework, and hosted on Vercel.
- API built with Next.js.
- Database hosted with Supabase.
- API-Database connection done with Prisma.
- Fetching/HTTP requests done with axios (most likely going to migrate to xior for middleware support).
- Cron hosting for metrics and live updates done with val town.
- Designs done with Figma.
- CSS extension done with Sass.
- Components built with Radix Themes.
- Text fitting algorithm implemented with react-textfit.
- Clone this repository into a directory of your choice, using
git clone https://github.com/ESV-Sweetplum/qsvds-site.git
. - Install missing packages with
npm i
. - Populate the provided
.env.example
file and rename it to.env
. - Generate the Prisma ORM client using
npx generate prisma
. - Synchronize the database schema using
npx prisma migrate dev --name init
. - Run
npm run dev
in the terminal to enter a development environment.