Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
5df2ae2
WIP: url
laxman-aqw Oct 14, 2025
5c1d3a8
merged feat-url with fix-migration
laxman-aqw Oct 14, 2025
4b50054
WIP: url
laxman-aqw Oct 15, 2025
668b438
Add: added limit throttler in endpoints
laxman-aqw Oct 15, 2025
02a7836
WIP
laxman-aqw Oct 15, 2025
8e80844
Merge branch 'fix-migration' into feat-throttler
laxman-aqw Oct 15, 2025
4671e1d
Add: added middleware to limit request per IP
laxman-aqw Oct 15, 2025
c5c5cbe
Merge branch 'feat-throttler' into feat-url
laxman-aqw Oct 15, 2025
2920e5e
Add: Created url table migration
laxman-aqw Oct 15, 2025
2a86097
WIP: dto for email verificaiton
laxman-aqw Oct 15, 2025
e4155ed
Addressed PR review changes to use DTO in email verification
laxman-aqw Oct 15, 2025
e2c4ae7
MERGE: merge with feat-throttler branch
laxman-aqw Oct 15, 2025
67a8e87
FIX: removed unnecessary logs
laxman-aqw Oct 15, 2025
2ecc34c
WIP: add url modules
laxman-aqw Oct 17, 2025
7dbdae6
merged with email-verification branch
laxman-aqw Oct 24, 2025
fbd42cd
add original_url column in url table to store original hash url and c…
laxman-aqw Oct 24, 2025
a324f39
add url crud with guard
laxman-aqw Oct 27, 2025
6ca753e
Revert "add url crud with guard"
laxman-aqw Oct 27, 2025
a21f934
Reapply "add url crud with guard"
laxman-aqw Oct 27, 2025
fb4a74f
removed: unnecessary codes
laxman-aqw Oct 27, 2025
5f50cdc
feat(cron): added cron to send url expiry alert mail to the user
laxman-aqw Oct 27, 2025
5c91c90
Merge branch 'fix-migration' into feat-throttler
laxman-aqw Oct 27, 2025
8c48d53
feat(url_analytics): create urlAnalytics table migration
laxman-aqw Oct 27, 2025
36aca8e
feat(analytics): added geoip-lite to extract geo datas
laxman-aqw Oct 28, 2025
01914ff
FIX: add browser and device column in analytics table
laxman-aqw Oct 28, 2025
e479d79
Merge branch 'feat-analytics-table' into feat-analytics
laxman-aqw Oct 28, 2025
34e1f24
Fix: add browser and device in entity
laxman-aqw Oct 28, 2025
c6b0e6b
FIX: addressed pr review changes
laxman-aqw Oct 28, 2025
f451d88
Merge branch 'feat-cron' into feat-analytics-table
laxman-aqw Oct 28, 2025
83ab959
Merge branch 'feat-analytics-table' into feat-analytics
laxman-aqw Oct 28, 2025
d87cc85
feat(analytics): add service to record url analytics details
laxman-aqw Oct 28, 2025
788b212
remove: removed unnecessary codes
laxman-aqw Oct 28, 2025
7a39610
update service
laxman-aqw Oct 28, 2025
d00d3d5
Merge branch 'feat-throttler' into feat-url
laxman-aqw Oct 29, 2025
f77d386
Merge pull request #12 from pagevamp/feat-analytics-table
laxman-aqw Oct 29, 2025
1994097
Merge pull request #11 from pagevamp/feat-cron
laxman-aqw Oct 29, 2025
0cf4e7b
Merge branch 'feat-cron' of github.com:pagevamp/laxman-url-shortner i…
laxman-aqw Oct 29, 2025
59873e9
Merge branch 'feat-cron' into feat-url
laxman-aqw Oct 29, 2025
b5f6d1a
Merge branch 'feat-url' of github.com:pagevamp/laxman-url-shortner in…
laxman-aqw Oct 29, 2025
869b52f
Addressed pr review changes: validated userid at authguard
laxman-aqw Oct 29, 2025
20b17d7
FIX: removed consoles and used error handler method to handle errors
laxman-aqw Oct 29, 2025
3bdafe2
FIX: Add userId in checking existing url query to avoid duplicate query
laxman-aqw Oct 29, 2025
d49fb89
FIX: removed unnecessary try catch blocks
laxman-aqw Oct 29, 2025
ab5392a
feat(event): used eventemitter to record url analytics
laxman-aqw Oct 29, 2025
d556a76
fix: removed unnecessary module dependency
laxman-aqw Oct 29, 2025
59ba268
feat(analytics): add os column
laxman-aqw Oct 30, 2025
41c0dd0
removed an unnecessary migration file
laxman-aqw Oct 30, 2025
4d98472
feat(analytics):add url filter endpoints and service
laxman-aqw Oct 30, 2025
72fb87a
fix: addressed pr review changes
laxman-aqw Oct 30, 2025
bff9f3f
feat(analytics): updated types and analytic service
laxman-aqw Oct 30, 2025
6e10a0c
Merge branch 'feat-url' into feat-analytics-filter
laxman-aqw Oct 30, 2025
d4d3332
feat(analytics): fixed getAnalytics service and controller
laxman-aqw Oct 31, 2025
93bf6ba
fix: renamed timestampz to timestamp with time zone
laxman-aqw Oct 31, 2025
d3ebe52
re added not null in url_id in createanalytics table
laxman-aqw Oct 31, 2025
b7c8d8f
fix: add deleted_at column in user table
laxman-aqw Oct 31, 2025
dd3a235
fix: add deleted at in user entity
laxman-aqw Oct 31, 2025
57a3c0b
feat(url): add redirect url request data
laxman-aqw Oct 31, 2025
8aba362
Addressed PR review changes, updated auth service to handle only sign…
laxman-aqw Oct 31, 2025
9afd588
FIX: renamed GetUrlRequestData to GetUrlResponseData
laxman-aqw Oct 31, 2025
7a6bf9c
used decorator to set http status code 302
laxman-aqw Oct 31, 2025
d83efe2
FIX: PR review changes
laxman-aqw Oct 31, 2025
39276c3
fix: addressed pr review changes
laxman-aqw Oct 31, 2025
7df70b4
FIX: Addressed PR review changes
laxman-aqw Oct 31, 2025
71b430f
fIX: fixed filter url analytics by start and end date
laxman-aqw Nov 1, 2025
6f77960
FIX: modified get url analytics dto
laxman-aqw Nov 3, 2025
a8abace
Addressed pr review changes
laxman-aqw Nov 3, 2025
efb7634
merged feat-analytics-filter into feat-event-emitter
laxman-aqw Nov 3, 2025
3e8d1a3
Merge pull request #15 from pagevamp/feat-analytics-filter
laxman-aqw Nov 3, 2025
2081886
Merge branch 'feat-event-emitter' of github.com:pagevamp/laxman-url-s…
laxman-aqw Nov 3, 2025
2efeb29
modified transform dto
laxman-aqw Nov 3, 2025
dc671d3
fix(auth): modified to delete the old verification email
laxman-aqw Nov 4, 2025
31737c3
FIX(INDEX): added index in migrations
laxman-aqw Nov 5, 2025
6561d49
Addressed pr review changes
laxman-aqw Nov 5, 2025
307be30
Addressed pr review changes
laxman-aqw Nov 5, 2025
28ca24f
Addressed pr review changes, updated group by logic
laxman-aqw Nov 5, 2025
cf093d7
Addressed pr review changes
laxman-aqw Nov 5, 2025
db9749a
Addressed pr review changes
laxman-aqw Nov 5, 2025
354f700
Addressed pr review changes
laxman-aqw Nov 5, 2025
1788476
merged feat-url to feat-throttler
laxman-aqw Nov 6, 2025
d658f7e
merged feat-eventemitter into feat-url
laxman-aqw Nov 10, 2025
255f3dd
merged feat-url into feat-throttler
laxman-aqw Nov 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
NODE_ENV=development
DB_PORT=5432
DB_TYPE=postgres
DB_HOST=db
DB_USERNAME=
DB_PASSWORD=
DB_NAME=postgres
DB_LOGGING=
JWT_SECRET=
JWT_VERIFICATION_TOKEN_SECRET=
JWT_VERIFICATION_TOKEN_EXPIRATION_TIME=3600
EMAIL_CONFIRMATION_URL=
EMAIL_SERVICE=
EMAIL_USER=
EMAIL_PASS=
ENCRYPTION_KEY=
REDIRECT_BASE_URL =
14 changes: 12 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,20 +27,28 @@
"@nestjs-modules/mailer": "^2.0.2",
"@nestjs/common": "^11.0.1",
"@nestjs/core": "^11.0.1",
"@nestjs/event-emitter": "^3.0.1",
"@nestjs/jwt": "^11.0.0",
"@nestjs/passport": "^11.0.5",
"@nestjs/platform-express": "^11.0.1",
"@nestjs/schedule": "^6.0.1",
"@nestjs/throttler": "^6.4.0",
"@nestjs/typeorm": "^11.0.0",
"bcrypt": "^6.0.0",
"class-transformer": "^0.5.1",
"class-validator": "^0.14.2",
"err-code": "^3.0.1",
"fast-geoip": "^1.1.88",
"geoip-lite": "^1.4.10",
"nodemailer": "^7.0.9",
"passport": "^0.7.0",
"passport-jwt": "^4.0.1",
"pg": "^8.16.3",
"reflect-metadata": "^0.2.2",
"rxjs": "^7.8.1",
"typeorm": "^0.3.27"
"typeorm": "^0.3.27",
"ua-parser-js": "^2.0.6",
"useragent": "^2.3.0"
},
"devDependencies": {
"@eslint/eslintrc": "^3.2.0",
Expand All @@ -50,10 +58,12 @@
"@nestjs/testing": "^11.0.1",
"@types/bcrypt": "^6.0.0",
"@types/express": "^5.0.0",
"@types/geoip-lite": "^1.4.4",
"@types/jest": "^30.0.0",
"@types/node": "^22.10.7",
"@types/nodemailer": "^7.0.2",
"@types/supertest": "^6.0.2",
"@types/useragent": "^2.3.4",
"eslint": "^9.18.0",
"eslint-config-prettier": "^10.0.1",
"eslint-plugin-prettier": "^5.2.2",
Expand Down Expand Up @@ -86,5 +96,5 @@
"coverageDirectory": "../coverage",
"testEnvironment": "node"
},
"packageManager": "pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34"
"packageManager": "pnpm@10.19.0+sha512.c9fc7236e92adf5c8af42fd5bf1612df99c2ceb62f27047032f4720b33f8eacdde311865e91c411f2774f618d82f320808ecb51718bfa82c060c4ba7c76a32b8"
}
Loading