Skip to content

Version 1.0.0 (First Stable)

Compare
Choose a tag to compare
@adhocore adhocore released this 02 Oct 11:33
· 12 commits to main since this release

Features

  • Add yahoo openid provider (@adhocore) 5549179
  • Add microsoft (Jitendra Adhikari) 6f30dd5
  • Register goic middleware (Jitendra Adhikari) 93150d9
  • Middleware: Add recover middleware (Jitendra Adhikari) 2b80bdc
  • Cmd.urlshc: Add urlshc command (Jitendra Adhikari) 0840fe3
  • Service.url: Check url reach (host) if configured (Jitendra Adhikari) 769303c
  • Request.url: Append host to input (Jitendra Adhikari) ea8d41d
  • Tmpl: Toggle check on copy from history row (Jitendra Adhikari) 93d47cd
  • Add /banner route and resource for og:image (Jitendra Adhikari) 9cea00f
  • Tmpl: Add og tags (Jitendra Adhikari) 24238cd
  • *****: Add favicon and robots router and template (Jitendra Adhikari) f24ea69
  • Tmpl: Add copy btn in history row, simplify dynamic row (Jitendra Adhikari) 272fe11
  • Tmpl: Add history table, rename copy button (Jitendra Adhikari) cffbc7a
  • Controller: Show UI in homepage (Jitendra Adhikari) 17596cc
  • Tmpl: Add home html template (Jitendra Adhikari) 6083ff0
  • Import.service: Make cache deactivation async, increment hits to compare threshold (Jitendra Adhikari) 5df0b30
  • Controller: Make hits increment async (Jitendra Adhikari) 6a42a0f
  • Service.url: Make cache deactivation async (Jitendra Adhikari) 485c6fa
  • Controller: Add x-cached header for cached data (Jitendra Adhikari) a7c85e5
  • Service.client: Lookup return flag to signify cached value (Jitendra Adhikari) eafedea
  • Cache: Add redis cache with lookup, persist and deactivate feature (Jitendra Adhikari) e85a297
  • Controller: Add endpoint to serve short url (Jitendra Adhikari) 2ffe1d6
  • Service.url: Add service to lookup origin & inc hits by shortcode (Jitendra Adhikari) c2807c2
  • Common: Add shortcode regex (Jitendra Adhikari) 1a0eed6
  • Router: Register short url delete endpoint (Jitendra Adhikari) c978a13
  • Controller: Add delete endpoint (Jitendra Adhikari) 9ab63ed
  • Common: Add no short code error (Jitendra Adhikari) 9e60505
  • Service.url: Add service to delete short url (Jitendra Adhikari) 2beece1
  • Common: Add auth token errors (Jitendra Adhikari) 1e388a2
  • Middleware: Add auth middleware to validate header token for admin (Jitendra Adhikari) fa7781c
  • Router: Register admin list/search controller (Jitendra Adhikari) a2eff44
  • Controller: Add admin list/search endpoint controller (Jitendra Adhikari) ff7987d
  • Common: Add data not found error (Jitendra Adhikari) 29e29d7
  • Service.url: Add service to list urls by filter for admin (Jitendra Adhikari) ad056f0
  • Request: Add UrlFilter definition with offset getter for search (Jitendra Adhikari) 8e2ced5
  • Response.body: Add Merge helper (Jitendra Adhikari) 5245e72
  • Controller: Add client api controller for short url (Jitendra Adhikari) ff2be5d
  • Common: Add short code length constant (Jitendra Adhikari) 07bb669
  • Service: Add short url creation service (Jitendra Adhikari) 1fd622e
  • Request: Add short url create request struct with validator (Jitendra Adhikari) 53e699c
  • Common: Add errors to be used in validation throughout (Jitendra Adhikari) 667dbca
  • Util: Add random length helper util (Jitendra Adhikari) 410ed52
  • Orm: Add postgres connection handler for gorm (Jitendra Adhikari) 0b8a769
  • Add DateLayout const, use time.UTC instead of common.UTC (Jitendra Adhikari) 8e014b5
  • Model: Add url model (Jitendra Adhikari) dda5a92
  • Model: Add keyword model (Jitendra Adhikari) 88b5ecd
  • Controller: Add not found handler (Jitendra Adhikari) 06c0041
  • Router: Add route registrar with multi endpoints handler (Jitendra Adhikari) 185a98e
  • Main: Listen and serve request, register default route (Jitendra Adhikari) 6ac7282
  • Controller: Add frontend controller (Jitendra Adhikari) 8d0ff88
  • Response: Add json response writer (Jitendra Adhikari) 265872f
  • Init module (Jitendra Adhikari) 796e171

Bug Fixes

  • Typo (Jitendra Adhikari) 691a3c7
  • Service.url: Use generic error (Jitendra Adhikari) a98fe7a
  • Cache: Redis uses different env (Jitendra Adhikari) 179c51f
  • Request: Validate url with regex (Jitendra Adhikari) 0ba06fc
  • Request: Exclude pattern (Jitendra Adhikari) 604c8cb
  • Tmpl: Use short href (Jitendra Adhikari) 167edf0
  • Request: Blacklist local urls (Jitendra Adhikari) fa7eb8b
  • Tmpl: Hide copy btn on error (Jitendra Adhikari) b83105a
  • Cache: User h is not usable (Jitendra Adhikari) 9a52035
  • Init-db: Make executable (Jitendra Adhikari) 4dccb36
  • Main: Use port dynamically (Jitendra Adhikari) 04e7272
  • Cache.redis: A;ways populate cached model (Jitendra Adhikari) 9c6a30e
  • Service.url: Ignore empty short code early (Jitendra Adhikari) 7168e83
  • Service.url: Select deleted field (Jitendra Adhikari) 84bdc5d
  • Service.url: When checking dupe, exclude deleted (Jitendra Adhikari) f4c3f59
  • Middleware: Use req.URL.Path for portability (Jitendra Adhikari) f05c70b

Internal Refactors

  • Middleware: Switch type usage (Jitendra Adhikari) 25d190a
  • Router: Wrap handler with recover (Jitendra Adhikari) 3b4aa88
  • Orm: Use panic (Jitendra Adhikari) 6a73c42
  • Cmd.urlshc: Precheck missing url opt (Jitendra Adhikari) e9e13f8
  • Move tmpl/ to assets/ (Jitendra Adhikari) 4cd4444
  • Service.url: Make validateURLInput public (Jitendra Adhikari) 281f830
  • Validate url len, keyword char, rephrase url filter error msg (Jitendra Adhikari) e08c0e7
  • *****: Use 2000 as default port (Jitendra Adhikari) 9703bd3
  • Tmpl: Add source code url, fix per w3c validator (Jitendra Adhikari) 1154b53
  • Use PORT instead of APP_PORT (Jitendra Adhikari) 9bc61b6
  • Orm,cache: Use DATABASE_URL and REDIS_URL env instead (Jitendra Adhikari) a855083
  • *****: Use 301 permanent redirect instead (Jitendra Adhikari) 80972d8
  • Postman: Move "/" to "/status" (Jitendra Adhikari) 1bc5865
  • Router: Move "/" to "/status" (Jitendra Adhikari) 425becc
  • Cache.redis: Use pool instead (Jitendra Adhikari) 7d6a96a
  • Cache: Support redis user/pass (Jitendra Adhikari) e19b3bc
  • Controller: Adapt to changed service layer (with cache) (Jitendra Adhikari) 7d2cd1c
  • Service.url: Integrate with cache layer for delete (Jitendra Adhikari) ede27c2
  • Service.url: Integrate with cache layer for lookup (Jitendra Adhikari) 511336c
  • Config.env: Add some hints (Jitendra Adhikari) bef7a66
  • Orm: Use test db for APP_ENV=test (Jitendra Adhikari) 1d38256
  • Router: Refactor to handle ServeShortUrl request (Jitendra Adhikari) 67c09eb
  • Main: Attach mux handler from router (Jitendra Adhikari) 2d889ce
  • Router: Use mux instead to make it middleware friendly (Jitendra Adhikari) 0e25641
  • Service.url: Add doc, always use offset (Jitendra Adhikari) 31b1a60
  • Controller.client: Simplify with body.Merge (Jitendra Adhikari) 4735648
  • Request.url: Cleanup and simplify GetExpiresOn (Jitendra Adhikari) b83110e
  • Main: Switch to router instead (Jitendra Adhikari) 13281b9

Miscellaneous

  • Deps: Bump deps, hopefully fix the yaml sec vuln (Jitendra Adhikari) 9c5b64d
  • Add dummy credentials (Jitendra) 3f5e92a
  • Fix editorconfig (Jitendra Adhikari) 627a79a
  • Bump adhocore/goic (Jitendra Adhikari) 9d41a8d
  • Bump adhocore/goic (Jitendra Adhikari) 1ecfdba
  • Bump adhocore/goic (Jitendra Adhikari) 6a1eff7
  • Add adhocore/goic (Jitendra Adhikari) d488da6
  • Init/setup github codeql (Jitendra Adhikari) 9b74a9b
  • Common: Add server error (Jitendra Adhikari) f59e0d7
  • Minor tweak homepage html (Jitendra Adhikari) 096d2af
  • Use short url to source code (Jitendra Adhikari) cfa183c
  • Timeout 1s (Jitendra Adhikari) 72fe0c5
  • Add check conf (Jitendra Adhikari) 28d5aff
  • No tag autocomplete (Jitendra Adhikari) 9e6eda4
  • Fix typo (Jitendra Adhikari) 9cc8775
  • Tmpl: Use nbsp (Jitendra Adhikari) a4ce4e3
  • Config: Fix db host (Jitendra Adhikari) 17481d4
  • Config: Add DATABASE_URL and REDIS_URL (Jitendra Adhikari) 1c94cfb
  • Common: Normalize error msg (Jitendra Adhikari) 7303f67
  • Cleanup (Jitendra Adhikari) d4bee1c
  • Docker cache (Jitendra Adhikari) ede9a0f
  • Flush redis before test (Jitendra Adhikari) db9163a
  • Add gha test (Jitendra Adhikari) baa12e0
  • Gh codeowner (Jitendra Adhikari) 727159e
  • Common: Popular website hits count (Jitendra Adhikari) fc8c61b
  • Config: Redis cache host:port (Jitendra Adhikari) 89e4c0d
  • Deps: Add redigo module (Jitendra Adhikari) ca3e959
  • Gha lint (Jitendra Adhikari) 26dab7f
  • Config: Document APP_PORT (Jitendra Adhikari) d2c3e7c
  • Postman: Add collection and environment (Jitendra Adhikari) 9e1dcf7
  • Config: Add env example config (Jitendra Adhikari) 6543454
  • Git: Add .env to ignore (Jitendra Adhikari) a5171a5
  • Deps: Add postgres driver and gorm (Jitendra Adhikari) be3d3b8
  • Cs: Add editorconfig config (Jitendra Adhikari) 2302817
  • Add gitignore (Jitendra Adhikari) 7319b5c

Documentations

  • Add urlshc terminal client (Jitendra Adhikari) 60e8be9
  • Add screenshot (Jitendra Adhikari) 8a3d83b
  • Update readme (Jitendra Adhikari) 249ba2f
  • Move "/" to "/status" (Jitendra Adhikari) 313ddda
  • About redis cache (Jitendra Adhikari) 195f010
  • Cache: Add method docs (Jitendra Adhikari) 8d77f86
  • About test env and cov (Jitendra Adhikari) aa5709a
  • Create url short code param and behavior (Jitendra Adhikari) 8566c94
  • Postman redirect (Jitendra Adhikari) 0123a51
  • Readme: Add installation/setup/testing steps, endpoint docs and postman (Jitendra Adhikari) 2cfafe0
  • *****: Add method docs for all source (Jitendra Adhikari) 336cd19
  • Init repo (Jitendra Adhikari) 5f7bdd1

Builds

  • Docker: No CGO in alpine container (Jitendra Adhikari) 7df35ec
  • Docker: Env map should be .env only (Jitendra Adhikari) 63a5d22
  • Docker: Use alpine images (Jitendra Adhikari) 7292580
  • Docker: APP_DB_DSN is no longer needed (Jitendra Adhikari) 5abe992
  • Docker: Add redis cache (Jitendra Adhikari) 70face3
  • Docker: Add docker-compose (Jitendra Adhikari) 3e8e036
  • Docker: Add init-test-db (Jitendra Adhikari) 68dd75a