Skip to content

URL shorter app. Short your links and urls and make easy to share with the people.

Notifications You must be signed in to change notification settings

JoseRamonMartinez/urlclip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

URLCLIP

ci-frontend ci-service-shortener License: CC BY-NC-ND 4.0

Deployment 🚀

https://urlclip.onrender.com/

Description 📢

URL shorter app. Short your links and urls and make easy to share with the people. The system uses a client-server architecture based on microservice. The frontend is composed by an angular web application. The backend follows the microservice architecture, containing at this moment 1 service (service shortener).

Structure 📋

The monorepository strategy is used and it is structured as follows:

Folder Content
/backend backend code, based on a microservice architecture
/frontend frontend code for the web app
GitHub Actions Workflows code for CI

Getting Started 📖

To get a local copy up and running follow these simple example steps.

Prerequisites

Installation

  1. Install go and node
  2. Clone the repo
    git clone https://github.com/joseramonmartinez/urlclip.git
  3. Install client packages
    cd frontend
    npm install
  4. Install backend packages
    cd backend/service-shortener
    go get -d ./...
  5. In backend/service-shortener, create a .env with the database
     URL_DB=<persistance-database-technology>
     MONGO_URL=<mongo-conexion-chain>
     MONGO_DB=<mongo-database-name>
     MONGO_TIMEOUT=<timeout-time>
     PORT=<port>

Local deploy

  1. Run client on localhost:4200
    cd frontend
    npm start
  2. Run server on localhost:8000
    cd backend/service-shortener
    go run main.go

Server containers with Docker

  1. Service shortener
    docker build -t service-shortener
    docker run -p 8080:8000 service-shortener

Author ✒️

  • José Ramón Martínez Riveiro - Linkedin

License 📄

This project is under Creative Commons (BY-NC-ND) license.

(back to top)