A URL shortening service with an analytics dashboard. Built using Next.JS 13, backed by Prisma and MongoDB for data management
Graphs and Charts created utilizing React-Vis.
Displays the top 5 best performing links of all time for the logged in user. It displays the name/alias of each link as well the destination, # clicks, and whether or not the link has risen or fallen in ranking.
Displays a line graph containing the data of the number of clicks in a time range (Daily, Weekly, Monthly, YTD, All Time). Hovering over a section of the graph will display
Displays a bar graph containing data for the top sources/website from where users are clicking the shortened links. Hovering over a section of the graph will display the name of the source and any relevant data.
Displays a pie containing data on the devices and browsers users are clicking links from. Hovering over a section of the pie chart will display the name of the device/browser, number of occurances, and any relevant data.
Upon a shortened link being clicked, the user's IP address is collected and use to grab the general location of the user. From there, coordinates are organized and displayed onto the Mapbox component as a heatmap.
From the dashboard, users will be able to create and customize new links, as well as viewing and/or modifying exisitng links. The link's "alias" is what replaces the random string of characters that identifies the Short URL. For example, rather than https://tinyclicks.co/d7Qw2eP
, a user could set the alias for their URL to be https://tinyclicks.co/CoOlLiNk
.
In the event of duplicate links, they will point to the same original URL/destination, but the link will be modified to avoid issues with collecting analytics for each link and user.
To Be Developed
To Be Developed
To Be Developed
Integrated with Amazon Web Services S3 Buckets to store user profile pictures. Link Portals are stored as records in the database, with links being connected through a relation. These links are stored as the pre-existing Link model so they will be able to collect analytics as well.