How tanyamaheshwari2010-creator/url-shortner works
This is an Express URL-shortening application with account login, user-scoped URL creation, redirects, and visit analytics. A browser request enters through the Express app, which dispatches routes and authentication middleware; controllers use Mongoose models for user and URL data. The root page lists a logged-in user’s URLs, while generated short IDs redirect to their destinations and record visits. The README also documents REST API support. The graph reflects sampled source; unsampled implementation details are omitted.
Main entry points: index.js Express App · user.js User Routes · url.js URL Model · static-router.js Static Routes
Components 17
Web Application
- Express App
index.js - Static Routes
routes/static-router.js
Accounts & Sessions
- User Routes
routes/user.js - User Controller
controllers/user.js - Auth Middleware
middlewares/auth.js - Session Map
services/auth.js - URL Auth Gate
middlewares/auth.js
URL Shortening
- URL Routes
routes/url.js - URL Controller
controllers/url.js
Data Persistence
- Mongo Connection
connect.js - User Model
models/user.js - URL Model
models/url.js
Web Views
- Home View
views/home.ejs - Login View
views/login.ejs - Signup View
views/signup.ejs
Other components
- Browser User
- MongoDB
Connections 25
- Browser User → Express App: requests
- Express App → Mongo Connection: connects
- Mongo Connection → MongoDB: opens connection
- Express App → User Routes: mounts
- Express App → Auth Middleware: checks requests
- Express App → Static Routes: mounts
- Express App → URL Auth Gate: guards /url
- Express App → URL Routes: mounts
- Express App → URL Model: looks up and records visits
- Auth Middleware → Session Map: gets session
- URL Auth Gate → Session Map: gets session
- User Routes → User Controller: dispatches
- User Controller → User Model: creates and finds users
- User Controller → Session Map: sets session
- User Model → MongoDB: persists users
- Static Routes → URL Model: lists user URLs
- Static Routes → Home View: renders
- User Routes → Login View: renders
- User Routes → Signup View: renders
- URL Routes → URL Controller: dispatches
- URL Controller → URL Model: creates and queries URLs
- URL Controller → Home View: renders
- URL Model → MongoDB: stores URL data
- Express App → Home View: renders test listing
- Express App → Login View: redirects unauthenticated users