Skip to content

pROFESOR11/url-shortener

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Url Shortener

Url Shortener

Url shortener app powered by Node.js + Express and React in TypeScript.

Url Shortener

Demo

Demo

Quick Start

$ [email protected]:pROFESOR11/url-shortener.git
$ cd url-shortener
$ yarn run heroku-postbuild

Development

  • Copy .env.example as .env

  • Fill with your own values

  • Server

Open your favorite Terminal and run these commands.

First Tab:

$ yarn watch

Second Tab:

$ yarn dev
  • Web

You don't need to explicitly run web, express serves build folder automatically. To make changes for front-end

$ cd web && yarn start

When changes done, then build to let express serve build folder

$ cd web && yarn && yarn run build
  • Deployment

To deploy heroku,

  • login to heroku from your terminal,
  • push root folder to heroku,
  • heroku will do the rest by running heroku-postbuild command in package.json

Technologies

  • Back end

    • Express - Nodejs framwork for building the REST Apis
    • Node.js - Nodejs framwork for building the REST Apis
    • Mongodb - Document oriented NoSQL database
    • Mongoose - MongoDB object modeling tool
    • nanoid - URL-friendly, unique string ID generator
    • yup - Javascript object schema validation
  • Front end

    • React - JavaScript library for building user interfaces.
    • react-query - Fetching, caching and updating asynchronous data
    • Semantic-UI - Responsive front-end framework
    • yup - Javascript object schema validation

Roadmap

  • Url shortener - server
  • Url shortener - web
  • Duplicate slug check
  • Url validation on front end
  • Url validation on back end
  • User authentication
  • User-shortLink relation
  • My link history
  • Count and show how many times a link is used

License

MIT