Skip to content

πŸ”—πŸš€ Personal link shortening service built with fastify.

License

Notifications You must be signed in to change notification settings

zaida04/rent-a-ni.co

Repository files navigation

Kazuya

rent-a-ni.co

Link shortener named after the popular "RAG" series.

Lint and build License: MIT
Issues GitHub pull requests

πŸ“ About

Personal link shortening service built with fastify

πŸ“¦ Main Dependencies

  • Fastify - HTTP Router
  • BCrypt - Hashing and dehashing of password
  • JWT - Encrypted payload that holds data
  • Knex - Database query builder
  • NanoID - URL-safe ID generator
  • UUID - Unique ID generator

API Routes

API Routes suffixed with πŸ”’ require authentication. You authenticate yourself by passing an Authorization: Bearer <token> header with your request. You can retrieve a token by creating an account or logging into an account

GET /api/v1/

General message about the API

POST /api/v1/redirects πŸ”’

Create a short link.

Request Body 
{
    destination: string
}
Status 200
{
    nanoId: string,
    id: string
}

DELETE /api/v1/redirects/s/:id πŸ”’

Delete a short link

Status 200
{
    id: string,
    shorthand_id: string
}

POST /api/v1/accounts/

Create an account.

Request Body
{
    email: string,
    username: string,
    password: string
}
Status 200
{
    token: string
}

POST /api/v1/accounts/login

Login to an account and retrieve the generated token.

Request Body
{
    username: string,
    password: string
}
Status 200
{
    token: string
}
Status 401
{
    message: string
}

GET /s/:id

Access a short link, will redirect user to the destination

GET /

Home page

βœ‹ Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Please ensure any and all commits pass our tests, linting, and build steps

βš–οΈ LICENSING

Licensed under the MIT License

For routes that require authentication, please pass a header like so: Authorization: Bearer <TOKEN>

About

πŸ”—πŸš€ Personal link shortening service built with fastify.

Topics

Resources

License

Stars

Watchers

Forks