Skip to content

Skilluv/skilluv-frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Skilluv Frontend

Where the African OSS generation shows what they can build.

🇬🇧 English (this page) · 🇫🇷 Version française

License: AGPL-3.0 SvelteKit Svelte TypeScript MVP status: ready


What is Skilluv?

Skilluv is a community platform training talents in code, design, security, and game development through real contributions to real open source projects. Every completed challenge produces a verifiable artifact that lives on the contributor's public portfolio and is exportable to recruiters.

Talents never pay for access. Companies do, because they benefit when African contributors become excellent.

Learn more in the backend repository which hosts the full product vision.

What this repo contains

This is the web application used by talents (and companies) to interact with Skilluv. Built with SvelteKit 2, Svelte 5, Tailwind CSS 4, TypeScript, and Vite.

It covers a large surface of the product already:

  • Talent journey — onboarding with career orientations picker, profile with badges wall (rank chevron, skill patches, medals, guild crests, event stamps), challenge discovery and submission, sandbox editor (Monaco), certifications, diplomas, mentorship, opportunities board, real-time leaderboards with season indicator, wallet with Stripe Connect and Mobile Money payouts
  • Community surfaces — feed, forum with inline moderation for forum_moderator, guilds, direct messages, notifications, mentor listings, tournaments, bounties, team marketplace (join open role slots), Skilluv events (join and earn stamps)
  • Enterprise surfaces — dedicated landing (for-companies), pricing, subscription management, talent search, sponsored challenges, enterprise-type wizard (direct hire / staffing agency / remote international) with agency-clients CRUD and EOR configuration
  • Moderation surfaces — capability-gated inline forum moderation, community curator queue (community_curator), plagiarism reviewer queue (plagiarism_reviewer)
  • Privacy and compliance — GDPR export, product data export, consent management (marketing / analytics), account deletion with 30-day soft-delete window
  • Public and legal surfaces — landing pages, developer/API section, legal pages
  • Theming and i18n — dark/light modes, two languages bundled (French, English)
  • PWA — service worker, install prompt, Web Push (VAPID) with foreground-notification in-app toast forwarding

See FEATURE-MATRIX.md for a per-phase breakdown mapping backend phases (P4→P25) to frontend implementation status.

Companion repositories

Quick start

Prerequisites: Node.js 22+, npm 10+, and a running Skilluv backend on port 3001.

git clone https://github.com/skilluv/skilluv-frontend.git
cd skilluv-frontend
npm install
cp .env.example .env
# edit .env to point PUBLIC_API_URL at your backend

npm run dev

The app opens on http://localhost:5173.

Detailed instructions (routing, themes, i18n, testing, deployment) are in README.fr.md — English translation in progress.

Docker

Run a standalone containerized frontend against a local backend:

docker compose -f docker-compose.frontend.yml up --build

The service exposes port 3000 and reaches the backend at ${API_URL} (default http://host.docker.internal:3001/api). All observability keys (PUBLIC_SENTRY_DSN, PUBLIC_POSTHOG_KEY) are optional environment variables — the app runs cleanly without them (no-op mode).

Testing

npm run check       # svelte-check + tsc
npm run test:unit   # Vitest unit + logic tests
npm run test        # Playwright end-to-end
npm run i18n:check  # FR/EN/AR key parity + orphan-key hunt

CI runs all four on every push to main. See .github/workflows/ci.yml.

Stack summary

Layer Technology
Framework SvelteKit 2.55
UI runtime Svelte 5.54 (runes)
Language TypeScript 5.9
CSS Tailwind CSS 4.2
Code editor Monaco Editor 0.55
Build Vite 8
Unit tests Vitest 4.1
E2E tests Playwright 1.58
Runtime Node.js 22 (Alpine)
Typography Fraunces (display), Bricolage Grotesque (UI), JetBrains Mono (mono)
Observability Sentry (errors, opt-in) + PostHog (analytics, opt-in)

Contributing

We welcome contributors — Svelte devs, designers, UX writers, translators, accessibility experts, community builders. See CONTRIBUTING.md for the workflow and CODE_OF_CONDUCT.md for community rules.

AI-assisted contributions are welcome. Please disclose the assistance level in your pull request description.

Security

For security disclosures, see SECURITY.md. Do not open public issues for vulnerabilities.

Community

Community channels are being set up. Follow the maintainer on GitHub for launch announcements.

License

Distributed under the GNU Affero General Public License v3.0 (AGPL-3.0).

Origin

Skilluv is built solo by Jeremie Zitti, a Beninese engineer. Public launch: January 2027. Private beta: autumn 2026.

About

SvelteKit user-facing app for Skilluv — talent development platform for the African tech ecosystem

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors