Skip to content

Latest commit

 

History

History
181 lines (135 loc) · 6.6 KB

File metadata and controls

181 lines (135 loc) · 6.6 KB

Adobum

Build CI Status contributions welcome code style Website Join Ado Hangout Discord!


A fan tribute to the Japanese artist Ado.
Built with 💙 by fans. Powered by passion, not profit.

Table of Contents

Project overview

ado.fan is a non-commercial fan-made website about the Japanese singer Ado. It brings together discography information, lyrics, music videos, news, and fan community resources.

The project is under active development. Discuss ideas and larger proposals in GitHub Discussions.

Documentation

Audience Guide
Code, design, documentation, data, and pull-request contributors CONTRIBUTING.md
UI and lyrics translators TRANSLATING.md
Local setup and available commands This README

Stack

  • Next.js 16, React 19, and strict TypeScript
  • Tailwind CSS v4, shadcn/ui, and Radix UI
  • Prisma ORM with PostgreSQL
  • Lingui v6 for UI localization
  • Bun as the primary package manager and command runner

Quick start

Prerequisites

  • Bun or any other package manager
  • A PostgreSQL-compatible database and a DATABASE_URL

Note

This documentation uses bun because continuous integration uses Bun and Node 24. You may use any modern package manager except npm. Do not commit an additional lockfile.

Clone and install

git clone git@github.com:ilyvsc/ado.fan.git
cd ado.fan
bun install

Configure environment variables

Create a local environment file and set the database URL for the database you will use:

cp sample.env .env
Variable Required Purpose
DATABASE_URL Yes Connection string used by Prisma.
NEXT_PUBLIC_CDN_URL Yes Base URL for remote images. next.config.ts validates it at startup.
NODE_ENV No Local development defaults to development.

sample.env shows the expected Prisma Postgres connection-string format. Do not commit .env files or credentials.

Prepare the database

Generate the Prisma client, apply local migrations, and optionally seed local development data:

bun run db:generate
bun run db:dev
bun run db:seed

Warning

db:seed clears and repopulates the local song, album, and lyrics tables. Use it only with a disposable local database.

Run the application

bun run dev

Open http://localhost:3000. Run bun run db:studio to inspect the local database with Prisma Studio.

Commands

Command Purpose
bun run dev Start the Next.js development server with Turbopack.
bun run build Generate Prisma and Lingui artifacts, then create a production build.
bun run lint Run ESLint across the project.
bun run lint:fix Run ESLint and apply available fixes.
bun run format Format the repository with Prettier. Review resulting changes before committing.
bun run db:generate Regenerate Prisma client files.
bun run db:dev Create and apply local Prisma migrations.
bun run db:seed Replace local database content with development data.
bun run db:studio Open Prisma Studio.

The generated Prisma client and compiled Lingui messages.ts catalogs are ignored by Git. Commit migration files and source .po catalogs instead.

Project layout

app/                 Routes, route handlers, layouts, and page metadata
features/            Domain-specific UI and logic
shared/              Reusable components, i18n, hooks, providers, and utilities
server/db/           Database access and serialization
types/               Shared domain types
prisma/              Schema, migrations, and generated client
styles/              Tailwind theme and global styles

Contributing

Read CONTRIBUTING.md before opening a pull request. It covers repository conventions, validation, database changes, pull-request scope, and licensing.

License

This is an unofficial, non-commercial fan project. Original source code is licensed under GPL-3.0, while original non-code assets are licensed under CC BY-NC-SA 4.0. See LICENSE for copyright, trademark, and full license details.