FolksDev URL Shortener Project

Overview

Url Shortener Project

This is a simple url shortener project which is using in-memory db.

  • Spring Boot
  • Exception Handling
  • Validation
  • H2 Database
  • Deployin to Heroku

Recorded Stream: https://www.youtube.com/watch?v=GOyMQ5UTueA

Example Images

example

example

API Reference

  • Get all urls

  GET /all

Response:

[
    {
        "id": 1,
        "url": "https://github.com/gurkanucar",
        "code": "GIT"
    },
    {
        "id": 2,
        "url": "https://www.youtube.com/c/gurkanucar",
        "code": "YT"
    }
]

  • Redirect

  GET /{code}

You will be redirected to the URL of the code.

  • Show Url of Code (alias)

  GET /show/{code}
Parameter Type Description
code string Required. Code of url to fetch

Response:

{
    "id": 1,
    "url": "https://github.com/gurkanucar",
    "code": "GIT"
}

  • Create Short Url

  POST /
Parameter Type Description
url string Required. Code of url to fetch
code string Not Required. If it is null or empty, it will be created automatically.

Request:

{
    "url": "https://github.com/gurkanucar",
    "code": "g"
}

Response:

{
    "id": 3,
    "url": "https://github.com/gurkanucar",
    "code": "G"
}

Installation

   git clone https://github.com/gurkanucar/folksdevUrlShortener.git

  cd folksdevUrlShortener

  mvn spring-boot:run
You might also like...

A React Native project starter with Typescript, a theme provider with hook to easy styling component, a folder architecture ready and some configs to keep a codebase clean.

React Native Boilerplate Folder structure : src ├── assets │   ├── audios │   ├── fonts │   ├── icons │   └── images ├── components │   ├── Layout.tsx

Sep 1, 2022

A Java-based template project for the FastJ Game Engine.

A Java-based template project for the FastJ Game Engine.

FastJ Java Template Program Requirements Java 16 JDK Basic understanding of Java Initial Setup Download the Template You have a few options for gettin

May 15, 2022

Java Camp Project

Java Camp Project

Hrms Java/React Camp Project 📌 Req 13: BİR ADAYA AİT TÜM CV BİLGİSİ GÖRÜNTÜLENEBİLMELİDİR. 📌 Req 12: ADAYLAR SİSTEME CV GİRİŞİ YAPABİLMELİDİR. Adayl

Aug 10, 2022

N-Layer Architecture human resource management system project with Java.

N-Layer Architecture human resource management system project with Java.

HRMS Project Backend N-Layer Architecture human resource management system project with Java. Report Bug · Request Feature About The Project Built Wit

Dec 26, 2022

Final project of my Computer Science major in high school

BattleShips Final project of my Computer Science major in high school. I've coded an android app (in Java) in which users can play the game "Battle Sh

Jul 28, 2021

This is the term project for level-1 term -2

This is the term project for level-1 term -2

Java-Fx-Term_Project This is the term project for level-1 term -2 . It's a server-client playerDatabase system for some clubs of EPL, although sign up

Apr 1, 2022

DataspaceConnector project

Project The Data Appliance GX project is intended as a proving ground for GAIA-X and data transfer techologies. Getting Started The project requires J

Dec 30, 2022

spring boot project with code review study

spring boot project with code review study

Getting started need Java 11 installed $ ./gradlew build bootRun 프로젝트 진행 사항 언어 : JAVA 11 프레임워크 : Spring Boot 빌드툴 : Gradle 6.9 db : h2 테이블 구조 : 일요일에 각

Dec 11, 2022

Geektime Todo is a demo todo project for Geektime column.

Geektime Todo 简介 这是《极客时间》专栏的 Todo 项目示例。 基本用法 生成 IDEA 工程 ./gradlew idea 检查 ./gradlew check 数据库迁移 ./gradlew flywayMigrate 生成构建产物 ./gradlew build 生成发布包 对

Oct 20, 2022
Comments
  • existByCode method could be defined in repository

    existByCode method could be defined in repository

    In ShortUrlRepository interface, if we define existByCode method, we could use it instead of findAllByCode(code).isPresent(). In this way, we can make a more meaningful and high-performance check when checking whether there is another entity with the same code.

    By the way, findAll... methods are used to return a list of entities, wouldn't it be more correct to name the findAllByCode method as findByCode?

    If you approve this enhancement, you can assign the issue to me :)

    opened by furkaya96 0
Owner
Grkn
linkedin.com/in/ucargurkan
Grkn
A Java SDK for the ScreenshotOne.com API to take screenshots of any URL

jsdk An official Screenshot API client for Java. It takes minutes to start taking screenshots. Just sign up to get access and secret keys, import the

ScreenshotOne.com 5 Jun 7, 2022
An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or to turn an existing project into a devops project using open source software (Git, Docker, Jenkins..)

DevOpsify Description An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or t

obaydah bouifadene 14 Nov 8, 2022
The project aim at easier to start a spring boot/cloud project.

easy-starters 是一个公共 starter 集合,旨在帮助 java 开发者快速构建 Springboot 与 Spring Cloud 项目. lx-starters的环境要求 JDK requirement: JDK 1.8+ Spring booter 2.x,+ 如何引用lx-s

null 3 Jul 11, 2022
This project is an Android Studio plugin version of BlackObfuscator, it supports obfuscating code automatically. More information about this project are in BlackObfuscator.

DEX控制流混淆插件版 · BlackObfuscator-ASPlugin English Version 本项目为 BlackObfuscator 的Android Studio插件版,支持打包自动化混淆。功能及介绍方面请查看 BlackObfuscator 源项目 注意事项 首要注意:Blac

null 229 Dec 31, 2022
This project provides an advanced baseline to help you kick start a Spring project.

?? Advanced Spring Scaffold The Spring Framework is an application framework and inversion of control container for the Java platform. This project wa

André de Sousa 22 Oct 15, 2022
This is an example of how conditional events can be triggered in Camunda using a simple spring boot project

Camunda Conditional Events Example This example is a Spring Boot Application using Camunda. In this example i'll show a variety of ways that BPMN's Co

Niall 5 Sep 30, 2021
End to End project for Kafka Streams using Spring Cloud Kafka streams

Spring Kafka Streams using Spring Cloud Streams End to End example Endpoint http://localhost:8080/domain/lookup/facebook - to pull all facebook relate

TechPrimers 43 Dec 20, 2022
Community-Driven Game Server Development solution for Java Developers based on DEEPINTHINK MagOKO Project.

MagOKO Stack Community-Driven Game Server Development solution for Java Developers based on DEEPINTHINK MagOKO Project. License Copyright 2021-present

DeepInThink Community 10 Jun 1, 2021
Processing and node.js project for rendering MouseGAN images from RunwayML

Computer MouseGAN Processing and node.js project for rendering MouseGAN images from RunwayML. Usage Clone or download this repository. git clone https

Coding Train 17 Apr 1, 2022