Code Monkey home page Code Monkey logo

url-shortener-backend's Introduction

Next.js URL Shortener Backend

This is the backend for a URL shortener application built with Golang, Gin, SQLC, and PostgreSQL.

Features

  • Authentication:
    • Supports both simple authentication (username and password) and GitHub OAuth.
  • URL Shortening:
    • Users can shorten URLs anonymously or after authentication.
  • Profile:
    • Users can view their own shortened URLs and total clicks for each URL.
    • Users can update the click count for each URL.

Endpoints

  • Authentication:
    • POST /auth/register: Register a new user.
    • POST /auth/login: Log in with username and password.
    • GET /auth/github/:code: Authenticate with GitHub OAuth.
  • URLs:
    • POST /urls/guest: Shorten a URL anonymously.
    • GET /urls/:code: Get the original URL associated with the provided code.
    • PUT /urls/:code: Update the click count for a URL.
    • POST /urls: Shorten a URL after authentication.
    • GET /urls/myUrls: Get a list of shortened URLs created by the authenticated user.
  • Users:
    • GET /users/:username: Get user profile by username.

License

This project is licensed under the MIT License.

url-shortener-backend's People

Contributors

koliader avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.