Skip to content

MiniRoute is an URL shortner web app. Intresting part is backend is built with GO and integrated with frontend

License

Notifications You must be signed in to change notification settings

GLVSKiriti/MiniRoute

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MiniRoute

MiniRoute Logo

An URL shortner web application built with React, TypeScript, GO lang, PostgreSQL. With this application users can shorten the long url and can share those shortened urls with others. Shortened urls are redirected to original long urls on accessing

✨ Features

  • Create, Read, Update, and Delete (CRUD) URLS: Easily manage your URLS with simple and user friendly UI.
  • Containerized the app: Both backend and frontend are containerized using Dockerfile and docker-compose
  • Reliable Backend: Ensured reliable backend by comprehensive testing in GO.

💡 Technologies Used

       

⚙ Project Setup

  • Clone the repository:

    git clone https://github.com/GLVSKiriti/MiniRoute.git
  • Setup .env file:

    cd ./Backend/ && touch .env

    Now paste this in .env file by replacing with your database details

    host=<your_postgresql_databse_host>
    port=5432
    user=<your_postgresql_databse_user>
    password=<your_postgresql_databse_password>
    dbname=<your_postgresql_databse_dbname>
    SECRETKEY=<Any_Secret_Key_Of_your_Choice>

    Make sure that you have created these 2 tables in your database

     CREATE TABLE USERS (uid SERIAL PRIMARY KEY,email varchar(36) NOT NULL,password varchar(100) NOT NULL);
    
     CREATE TABLE URLMAPPINGS (uid int,id int,longurl text NOT NULL,shorturl varchar(100) NOT NULL,PRIMARY KEY(uid,id),FOREIGN KEY (uid) REFERENCES users(uid));
  • Just run the below commands and access frontend at http://localhost:5173/

  • With docker: (Very Simple)

      docker compose up
  • Without docker

    • Install dependencies:
    make install
    • Start frontend
    make frontend
    • Start backend
    make backend

🤝 Contributing

  • You are welcome to come up with new features or resolving issues
  • To contribute:
    • Fork this repo and clone the forked repo
    • Dont push your changes directly to main branch
    • Please make sure you raise PR from a new branch not from main

Feel Free To Reach Me If You Have Any Doubts In Contributing Or Project Setup

About

MiniRoute is an URL shortner web app. Intresting part is backend is built with GO and integrated with frontend

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published