Make your links shorter, cleaner, and easier to share.
JK-Link is a link-shortening platform designed for creators, brands, communities, and anyone who wants to share links with a more polished look.
- Memorable short links with custom names.
- Simple management via a clear and fast web interface.
- Edit and delete links in seconds.
- An optimized experience for organizing campaigns, content, and resources.
- Content creators who post on social media all the time.
- Communities that share resources, documents, or invitations.
- Businesses that want consistent links for marketing.
- Teams that need control over their links in one place.
- Replace long URLs with short, professional links.
- Create links for temporary promotions.
- Update destinations without losing clarity in what you share.
- Less visual clutter in every post.
- Better link recall.
- Fast workflow for creating and maintaining your active links.
- Solid foundation for continued growth with metrics, domains, and more integrations.
The current version already allows you to create, edit, list, and delete links from a web dashboard connected to a custom backend. (dev only)
- Vue 3 + Vite
- Vue Router
- Pinia
- Tailwind CSS
- Bun
The admin frontend now uses backend authentication with cookies and role validation.
POST /api/auth/login
- Request body:
{
"username": "admin_user",
"password": "plain-password"
}- Success response (
200):
{
"user": {
"id": "uuid-or-number",
"username": "admin_user",
"role": "admin"
}
}- The backend must create/set the auth session cookie.
GET /api/auth/me
- Success response (
200):
{
"user": {
"id": "uuid-or-number",
"username": "admin_user",
"role": "admin"
}
}- If session is invalid/expired, return
401.
POST /api/auth/logout
- Success response:
200or204. - The backend must clear the auth session cookie.
- Admin panel access requires
role === "admin". - Any authenticated user with another role must be rejected (
403) for admin access.
Recommended fields:
idusername(unique)password(store bcrypt hash, never plain text)role(user|admin)created_atupdated_at