Giter Club home page Giter Club logo

url-shortener's Introduction

URL Shortener - Desafio Técnico Back-end TDS

Este é um projeto de uma API Rest desenvolvida em Kotlin com Spring. O objetivo do projeto é a criação de um micro serviço com uma API para encurtar URLs que deverá seguir o padrão REST. Ao cadastrar uma URL, é necessário retornar uma outra URL encurtada que, ao ser acessada, redireciona o usuário para a URL original. Além da API base, deve ser feita a criação de um endpoint de estatísticas de acesso às URLs geradas.

Como executar o projeto

Siga as etapas abaixo para executar o projeto em sua máquina local:

Execute os seguintes comandos a partir da pasta raiz do projeto:

Clone este repositório

git clone [email protected]:anaelisaq/url-shortener.git

Acesse o diretório do projeto:

cd url-shortener

Ou abrir diretamente na sua IDE de preferência

Estrutura de Pastas

A estrutura de pastas do projeto é organizada da seguinte maneira:

📂 gradle
📂 src
┣ 📂 main
┃ ┣ 📂 kotlin/com/tds/urlshortener
┃ ┃ ┣ 📂 config
┃ ┃ ┃ ┣ 📜 FilterConfig.kt
┃ ┃ ┃ ┗ 📜 SwaggerConfig.kt
┃ ┃ ┣ 📂 controller
┃ ┃ ┃ ┣ 📂 dto
┃ ┃ ┃ ┃ ┣ 📜 UrlShortenRequest.kt
┃ ┃ ┃ ┃ ┗ 📜 UrlShortenResponse.kt
┃ ┃ ┃ ┣ 📂 exception
┃ ┃ ┃ ┃ ┗ 📜 GlobalexceptionHandler.kt
┃ ┃ ┃ ┗ 📜 UrlController.kt
┃ ┃ ┣ 📂 domain
┃ ┃ ┃ ┣ 📂 model
┃ ┃ ┃ ┃ ┗ 📜 Url.kt
┃ ┃ ┃ ┗ 📂 model
┃ ┃ ┃ ┃ ┗ 📜 UrlRepository.kt
┃ ┃ ┣ 📂 service
┃ ┃ ┃ ┗ 📜 UrlService.kt
┃ ┃ ┣ 📂 util
┃ ┃ ┃ ┣ 📂 filter
┃ ┃ ┃ ┃ ┗ 📜 UrlAccessFilter.kt
┃ ┃ ┃ ┗ 📜 UrlShortenerUtil.kt
┃ ┃ ┗ 📜 UrlShortenerApplication.kt
┃ ┣ 📂 resources
┃ ┃ ┗ 📜 application.yml
┣ 📂 test/kotlin/com/tds/urlshortener
┃ ┣ 📂 unit
┃ ┃ ┗ 📜 UrlServiceTest.kt
┃ ┗ 📜 UrlShortenerApplicationTests.kt
📜 .gitignore
📜 build.gradle.kts
📜 gradle.properties
📜 gradlew
📜 gradlew.bat
📜 settings.gradle.kts

url-shortener's People

Contributors

anaelisaq 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.