Skip to content

An URL Shorten System built with MERN -- MongoDB, Express, React, and Node.js

License

Notifications You must be signed in to change notification settings

Dongli99/MERN-UrlShortenSys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

URL Shorten System

React Vite Node.js Express.js MongoDB

Overview

This project aim to practice courses Software System Design and Web Application Development altogether.

The developing version has been deployed on https://u.dongli.ca, please expect occasional instability.

To manage his time effectively, the author paused the project and delved into other areas of technology.

Current File Structure

└── .
    └── 📁client
        └── 📁src
            └── App.css
            └── App.jsx
            └── main.jsx
            └── index.css
            └── 📁assets
            └── 📁components
            └── 📁config
            └── 📁contexts
            └── 📁layout
            └── 📁pages
            └── 📁services
            └── 📁utils
        └── .env
        └── .eslintrc.cjs
        └── index.html
        └── package.json
        └── postcss.config.js
        └── tailwind.config.js
        └── vite.config.js
    └── 📁server
        └── 📁config
        └── 📁controllers
        └── 📁models
        └── 📁routes
        └── 📁services
        └── server.js
        └── package-lock.json
        └── package.json
    └── .env
    └── .gitignore
    └── LICENSE
    └── package.json
    └── README.md

Web Pages

Page Process
Home/Shorten
LogIn
SignUp
/<alias>
aliasnotfound
forgot password
MyURL/dashboard
Profile
About

Function Map

    mindmap
        root(Functions)
            users
                register
                sign in
                sign out
                id))update info((
                    id))reset pwd((              
            URL pairs
                generation
                    auto alias
                        encoder
                        count model
                    customize alias
                    id))copy((
                    id))share((
                redirection
                expiration
                id))list all((
                id))update alias((
                id))delete pairs(( 
            clicks
                click info
                    geolocation
                    device
                id))analytics((
                    id))charts((
                        id))time trend((
                        id))by geolocation((
                        id))by device((
Loading
    mindmap
        root(annotation)
            id))Developing((
            Developed
Loading

Usage

Generate Short URL

flowchart LR
    A["u.dongli.ca"] -->
    B["signup"] --> C["login"] --> D["shorten"] --> E{"customize?"}
    E --> F["customized alias"]
    E --> G["auto-gen alias"]
    style B stroke-dasharray: 5 5
    style C stroke-dasharray: 5 5
Loading

Redirect Short URL

flowchart LR
    A["u.dongli.ca/#60;alias#62;"] -- "record click" --> C["redirect to origin"]
Loading

Analyze Clicks

Capture Click Data (Done)

alt text

Develop Dashboard

==🚧===🚧==

About

An URL Shorten System built with MERN -- MongoDB, Express, React, and Node.js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published