v0.1.2 (2021-05-04)
- Middleware: Add recover middleware (Jitendra Adhikari) 3bcbcce
- Middleware: Switch type usage (Jitendra Adhikari) 624659e
- Router: Wrap handler with recover (Jitendra Adhikari) 17cd64d
- Orm: Use panic (Jitendra Adhikari) c16c881
- Common: Add server error (Jitendra Adhikari) b3cadf9
- Docker: No CGO in alpine container (Jitendra Adhikari) 1856cb5
- Docker: Env map should be .env only (Jitendra Adhikari) 080e65c
- Docker: Use alpine images (Jitendra Adhikari) 88bc5bf
v0.1.1 (2021-04-14)
- Cmd.urlshc: Precheck missing url opt (Jitendra Adhikari) 458d4cb
v0.1.0 (2021-04-13)
- 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
- 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
- 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
- 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
- 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