Releases
v0.1.0
Version v0.1.0 (Initial stable)
v0.1.0 (2021-04-13)
Features
Cmd.urlshc : Add urlshc command (Jitendra Adhikari) 7f30ea5
Service.url : Check url reach (host) if configured (Jitendra Adhikari) ca97005
Request.url : Append host to input (Jitendra Adhikari) 79c845c
Tmpl : Toggle check on copy from history row (Jitendra Adhikari) 5833b70
Add /banner route and resource for og:image (Jitendra Adhikari) ec7ed9c
Tmpl : Add og tags (Jitendra Adhikari) f9f4a1d
*****: Add favicon and robots router and template (Jitendra Adhikari) 72a55fa
Tmpl : Add copy btn in history row, simplify dynamic row (Jitendra Adhikari) aa6bfdc
Tmpl : Add history table, rename copy button (Jitendra Adhikari) e7367cb
Controller : Show UI in homepage (Jitendra Adhikari) 3d1f396
Tmpl : Add home html template (Jitendra Adhikari) 0fc94ad
Import.service : Make cache deactivation async, increment hits to compare threshold (Jitendra Adhikari) 97fdfe3
Controller : Make hits increment async (Jitendra Adhikari) 193af34
Service.url : Make cache deactivation async (Jitendra Adhikari) bd6fb24
Controller : Add x-cached header for cached data (Jitendra Adhikari) eadf345
Service.client : Lookup return flag to signify cached value (Jitendra Adhikari) ce0ed85
Cache : Add redis cache with lookup, persist and deactivate feature (Jitendra Adhikari) e781d68
Controller : Add endpoint to serve short url (Jitendra Adhikari) df2d6a9
Service.url : Add service to lookup origin & inc hits by shortcode (Jitendra Adhikari) 79ac77a
Common : Add shortcode regex (Jitendra Adhikari) 040db1d
Router : Register short url delete endpoint (Jitendra Adhikari) c12f42a
Controller : Add delete endpoint (Jitendra Adhikari) 79455d4
Common : Add no short code error (Jitendra Adhikari) 31e2f43
Service.url : Add service to delete short url (Jitendra Adhikari) 24e8d7d
Common : Add auth token errors (Jitendra Adhikari) e7fa252
Middleware : Add auth middleware to validate header token for admin (Jitendra Adhikari) 11f06d9
Router : Register admin list/search controller (Jitendra Adhikari) 7ec1ac1
Controller : Add admin list/search endpoint controller (Jitendra Adhikari) 136666e
Common : Add data not found error (Jitendra Adhikari) 98c1160
Service.url : Add service to list urls by filter for admin (Jitendra Adhikari) be7bff1
Request : Add UrlFilter definition with offset getter for search (Jitendra Adhikari) 70dc8d4
Response.body : Add Merge helper (Jitendra Adhikari) e6f8e12
Controller : Add client api controller for short url (Jitendra Adhikari) b729830
Common : Add short code length constant (Jitendra Adhikari) 6c93eae
Service : Add short url creation service (Jitendra Adhikari) ba6e13b
Request : Add short url create request struct with validator (Jitendra Adhikari) d291da2
Common : Add errors to be used in validation throughout (Jitendra Adhikari) dbf74f6
Util : Add random length helper util (Jitendra Adhikari) dbbf1ad
Orm : Add postgres connection handler for gorm (Jitendra Adhikari) aca8fc1
Add DateLayout const, use time.UTC instead of common.UTC (Jitendra Adhikari) f8f53a8
Model : Add url model (Jitendra Adhikari) 8f0af8a
Model : Add keyword model (Jitendra Adhikari) 8462de3
Controller : Add not found handler (Jitendra Adhikari) e8437d5
Router : Add route registrar with multi endpoints handler (Jitendra Adhikari) 153a45a
Main : Listen and serve request, register default route (Jitendra Adhikari) 1020674
Controller : Add frontend controller (Jitendra Adhikari) 0955f36
Response : Add json response writer (Jitendra Adhikari) 5894f71
Init module (Jitendra Adhikari) 8e796d3
Bug Fixes
Typo (Jitendra Adhikari) 4c11604
Service.url : Use generic error (Jitendra Adhikari) 034ae99
Cache : Redis uses different env (Jitendra Adhikari) 6038ced
Request : Validate url with regex (Jitendra Adhikari) 3bc274c
Request : Exclude pattern (Jitendra Adhikari) e27a8b8
Tmpl : Use short href (Jitendra Adhikari) d1c067e
Request : Blacklist local urls (Jitendra Adhikari) d37cfc5
Tmpl : Hide copy btn on error (Jitendra Adhikari) 6e08e41
Cache : User h is not usable (Jitendra Adhikari) ef8e844
Init-db : Make executable (Jitendra Adhikari) 48ca0cf
Main : Use port dynamically (Jitendra Adhikari) 5233f98
Cache.redis : A;ways populate cached model (Jitendra Adhikari) e7f265d
Service.url : Ignore empty short code early (Jitendra Adhikari) d6439aa
Service.url : Select deleted field (Jitendra Adhikari) 998d8c3
Service.url : When checking dupe, exclude deleted (Jitendra Adhikari) dc99646
Middleware : Use req.URL.Path for portability (Jitendra Adhikari) 860b16d
Internal Refactors
Move tmpl/ to assets/ (Jitendra Adhikari) 65bc2a0
Service.url : Make validateURLInput public (Jitendra Adhikari) 85c9194
Validate url len, keyword char, rephrase url filter error msg (Jitendra Adhikari) 6bc3661
*****: Use 2000 as default port (Jitendra Adhikari) 01f58ab
Tmpl : Add source code url, fix per w3c validator (Jitendra Adhikari) 2c0a8c6
Use PORT instead of APP_PORT (Jitendra Adhikari) 5c014f9
Orm,cache : Use DATABASE_URL and REDIS_URL env instead (Jitendra Adhikari) 8910662
*****: Use 301 permanent redirect instead (Jitendra Adhikari) 2619adc
Postman : Move "/" to "/status" (Jitendra Adhikari) 42f5da3
Router : Move "/" to "/status" (Jitendra Adhikari) 9ee7a87
Cache.redis : Use pool instead (Jitendra Adhikari) cc24a94
Cache : Support redis user/pass (Jitendra Adhikari) 0ad1754
Controller : Adapt to changed service layer (with cache) (Jitendra Adhikari) c4edc2e
Service.url : Integrate with cache layer for delete (Jitendra Adhikari) df1ad3f
Service.url : Integrate with cache layer for lookup (Jitendra Adhikari) 9bdc002
Config.env : Add some hints (Jitendra Adhikari) bbe5596
Orm : Use test db for APP_ENV=test (Jitendra Adhikari) 6fefad1
Router : Refactor to handle ServeShortUrl request (Jitendra Adhikari) a6d8a1f
Main : Attach mux handler from router (Jitendra Adhikari) 8fa951b
Router : Use mux instead to make it middleware friendly (Jitendra Adhikari) 4f44825
Service.url : Add doc, always use offset (Jitendra Adhikari) 22f50e7
Controller.client : Simplify with body.Merge (Jitendra Adhikari) 8899f07
Request.url : Cleanup and simplify GetExpiresOn (Jitendra Adhikari) cc24550
Main : Switch to router instead (Jitendra Adhikari) e314a4a
Miscellaneous
Minor tweak homepage html (Jitendra Adhikari) f912681
Use short url to source code (Jitendra Adhikari) 79db201
Timeout 1s (Jitendra Adhikari) 41e9fbf
Add check conf (Jitendra Adhikari) 68bc576
No tag autocomplete (Jitendra Adhikari) d94c26c
Fix typo (Jitendra Adhikari) 78bf1ff
Tmpl : Use nbsp (Jitendra Adhikari) 4e7b2cb
Config : Fix db host (Jitendra Adhikari) bc4871b
Config : Add DATABASE_URL and REDIS_URL (Jitendra Adhikari) bf17b7a
Common : Normalize error msg (Jitendra Adhikari) b7f93e6
Cleanup (Jitendra Adhikari) c34d86a
Docker cache (Jitendra Adhikari) ec6d9a8
Flush redis before test (Jitendra Adhikari) b3a0610
Add gha test (Jitendra Adhikari) 75fca1a
Gh codeowner (Jitendra Adhikari) 6c23bac
Common : Popular website hits count (Jitendra Adhikari) 1804fe9
Config : Redis cache host:port (Jitendra Adhikari) 4cbb672
Deps : Add redigo module (Jitendra Adhikari) e37f192
Gha lint (Jitendra Adhikari) 36e8942
Config : Document APP_PORT (Jitendra Adhikari) 2916f87
Postman : Add collection and environment (Jitendra Adhikari) f630b8b
Config : Add env example config (Jitendra Adhikari) 83a3dd6
Git : Add .env to ignore (Jitendra Adhikari) ceab82c
Deps : Add postgres driver and gorm (Jitendra Adhikari) 544705a
Cs : Add editorconfig config (Jitendra Adhikari) 97b5312
Add gitignore (Jitendra Adhikari) cc2d8f1
Documentations
Add urlshc terminal client (Jitendra Adhikari) 25c8a31
Add screenshot (Jitendra Adhikari) d682cb4
Update readme (Jitendra Adhikari) b7100c3
Move "/" to "/status" (Jitendra Adhikari) 86d1933
About redis cache (Jitendra Adhikari) bb8ead9
Cache : Add method docs (Jitendra Adhikari) 925bab0
About test env and cov (Jitendra Adhikari) 696ca9b
Create url short code param and behavior (Jitendra Adhikari) 0379809
Postman redirect (Jitendra Adhikari) 26c8efc
Readme : Add installation/setup/testing steps, endpoint docs and postman (Jitendra Adhikari) e7fe6c6
*****: Add method docs for all source (Jitendra Adhikari) ed3277f
Init repo (Jitendra Adhikari) 9c9ad4a
Builds
Docker : APP_DB_DSN is no longer needed (Jitendra Adhikari) 249e4f6
Docker : Add redis cache (Jitendra Adhikari) 744d5eb
Docker : Add docker-compose (Jitendra Adhikari) d2b182f
Docker : Add init-test-db (Jitendra Adhikari) 5832a09
You can’t perform that action at this time.