Custom Fonts for AdvancedKillFeed β create, upload and edit custom fonts for your Unturned killfeeds.
This project is a web-based font manager/editor for the AdvancedKillFeed plugin.
It focuses on the web dashboard: users can sign in with Discord, create and manage their fonts, and see them in a live preview and in a community fonts grid.
It is part of the RedstonePlugins ecosystem.
Status: Work in progress / not actively maintained.
Published as a portfolio project.
- π Discord OAuth login using NextAuth (Discord provider)
- π§© Font management dashboard
- Create new fonts
- Edit font metadata (name, sample text, author, visibility, etc.)
- Track glyph count per font
- πΌοΈ Live preview
- Sample text preview using the selected font
- Killfeed-style header so users can see how it might look ingame
- π Community Fonts section
- Grid of community fonts with search input
- Font cards showing name, glyph count, author and creation date
- π¨ Modern UI with Tailwind CSS
- Dark theme
- Responsive layout
- π§ͺ Glyph manager (WIP)
- UI prepared to manage glyphs of a font directly from the browser
Note: The current implementation covers the web font manager/editor.
Export and direct integration with the AdvancedKillFeed plugin were planned as a later phase and are not implemented yet.
- Framework: Next.js 13+ (React, App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- Auth: NextAuth.js with Discord provider
- Database/ORM: Prisma
- Runtime / Target: Node.js (Vercel / custom VPS)
This project is built with Next.js 13+ using:
- The App Router under
src/appfor all pages and layouts. - Classic Pages API routes under
src/pages/apifor NextAuth and font endpoints.
The project was originally created with create-next-app and then adapted to use:
- TypeScript
- Tailwind CSS
- Prisma
- NextAuth (Discord provider)
. ββ prisma/ β ββ schema.prisma # Database schema and Prisma models ββ public/ β ββ ... # Static assets (icons, images, etc.) ββ src/ ββ app/ # Next.js App Router (main UI) β ββ fonts/ β β ββ [id]/ # Font detail page (view/manage a single font) β β ββ new/ # Create new font flow β ββ favicon.ico β ββ globals.css # Global Tailwind styles β ββ layout.tsx # Root layout (theme, providers, etc.) β ββ page.tsx # Landing page (hero, community fonts) β ββ providers.tsx # Global providers (theme, auth, etc.) β ββ components/ β ββ Button.tsx # Reusable button component β ββ Card.tsx # Generic card used across the UI β ββ ClientLayout.tsx # Layout wrapper for client-side sections β ββ FontCard.tsx # Card used in the Community Fonts grid β ββ Footer.tsx β ββ GlyphManager.tsx # (WIP) UI to manage glyphs of a font β ββ Logo.tsx β ββ Navbar.tsx β ββ Navigation.tsx β ββ PageContainer.tsx # Shared page layout container β ββ SectionHeading.tsx # Section titles/subtitles β ββ SignInButton.tsx # "Sign in with Discord" button β ββ ThemeToggle.tsx # Light/Dark theme switch β ββ UserMenu.tsx # User dropdown when logged in β ββ config/ β ββ next-auth.ts # NextAuth configuration (Discord provider) β ββ context/ β ββ AuthContext.tsx # Auth context to expose user/session across the app β ββ hooks/ β ββ useFonts.ts # Custom hook to fetch and manage fonts data β ββ lib/ β ββ ... # Utilities / shared logic (e.g. Prisma client) β ββ pages/ ββ api/ ββ auth/ β ββ [...nextauth].ts # NextAuth API route ββ fonts/ ββ [id]/... # REST-like API for fonts (CRUD, WIP)
- Uses Next.js App Router for the UI and Pages API routes for authentication and font endpoints.
- Authentication is handled via NextAuth with a Discord provider, configured in
src/config/next-auth.tsand exposed throughsrc/pages/api/auth/[...nextauth].ts. - Global authentication state is shared through
AuthContext, so components likeNavbar,UserMenuandSignInButtoncan react to the current user. - Font data is accessed using the custom hook
useFonts, which centralises fetching, caching and mutations for fonts. - UI is built from reusable React components (
FontCard,GlyphManager,PageContainer,SectionHeading, etc.) and styled with Tailwind CSS.
All screenshots are stored under docs/screenshots/.
- Node.js 18+
- npm / pnpm / yarn
- A PostgreSQL (or compatible) database for Prisma
git clone https://github.com/educatalan02/advancedkillfeed-platform.git
cd advanced-killfeed-font-manager
pnpm install Create a .env file with your configuration:
DATABASE_URL="postgresql://user:password@localhost:5432/akf-fonts" NEXTAUTH_SECRET="your-random-secret" NEXTAUTH_URL="http://localhost:3000" DISCORD_CLIENT_ID="your-discord-client-id" DISCORD_CLIENT_SECRET="your-discord-client-secret"
- User authentication with Discord OAuth
- Font management dashboard (list, create, edit fonts)
- Live preview of fonts with sample text and killfeed header
- Community Fonts section with search/filter
- Responsive UI with Tailwind CSS
- Glyph manager UI (WIP)
- Database schema and Prisma models for users, fonts, glyphs
- NextAuth.js setup with Discord provider
- Finish glyph editor UI
- Implement font import/export format
- Expose API endpoints for the AdvancedKillFeed plugin
- Admin tools and moderation for public/community fonts
- Improve documentation and add more examples
Built by Eduardo CatalΓ‘n (@educatalan02)
Part of the RedstonePlugins ecosystem and the AdvancedKillFeed project.
This project is licensed under the MIT License.