You are browsing as a guest. Sign up (or log in) to start making projects!

Open comments for this post

15h 59m 37s logged

CTFp — Devlog #1CTFp is a self-hosted CTF (Capture The Flag) competition platform I’m building from scratch. Backend is Laravel 13 (PHP 8.3), frontend is Vue 3 + TypeScript with Tailwind and shadcn-vue components, everything running in Docker for dev. Started the repo on July 16. First few days were mostly scaffolding, got the Laravel + Vue split running together in Docker with hot reload on both sides (PHP/Blade changes need nothing, Vite handles the frontend), wrote a small qol script to spin the dev environment up, and set up CI with ESLint/Prettier. From there I built out auth, login and register pages on the frontend, an auth controller on the backend using Sanctum, and added Authentik as an OAuth provider so the platform can hook into an existing identity provider instead of only rolling its own accounts. Alongside that I added Gravatar support with a fallback to generated initials for users without one. Usernames needed some care for a public platform, so I pulled in a blocklist (based on LDNOOBW) with validation, and set up a workflow to keep it synced from upstream.On the data model side: users, orgs, and invites all have migrations and factories now, laying the groundwork for team-based competitions rather than just solo accounts. Most recently I’ve been on the frontend shell, landing page, branding, a sidebar for the user area, and pulling in shadcn UI blocks to speed up building out the rest of the interface. Still early. Core auth and org/invite data model are in place. Next is actually building out CTF-specific functionality (challenges, scoring, competitions) on top of this foundation.
Also i am too lazy to spin the docker containers rn so here is a git tree instead :3

0
0
4

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…