This project is used to demonstrate how to build a simple web service which, when given a list of email addresses, will return the total number of unique instances of each address, after stripping out content that Gmail would normally ignore.

project.clj 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. (defproject email-counter "0.1.0"
  2. :description "Simple web service for counting unique email addresses"
  3. :url "https://git.calmabiding.me/scstarkey/email-counter"
  4. :dependencies [[ch.qos.logback/logback-classic "1.2.3"]
  5. [cheshire "5.8.1"]
  6. [clojure.java-time "0.3.2"]
  7. [com.sun.mail/javax.mail "1.6.0"]
  8. [coreagile/defenv "1.0.4"]
  9. [expound "0.7.2"]
  10. [funcool/struct "1.4.0"]
  11. [javax.mail/javax.mail-api "1.6.2"]
  12. [javax.mail/mail "1.4"]
  13. [luminus-http-kit "0.1.6"]
  14. [luminus-transit "0.1.1"]
  15. [luminus/ring-ttl-session "0.3.3"]
  16. [markdown-clj "1.10.0"]
  17. [metosin/muuntaja "0.6.4"]
  18. [metosin/reitit "0.3.9"]
  19. [metosin/ring-http-response "0.9.1"]
  20. [mount "0.1.16"]
  21. [nrepl "0.6.0"]
  22. [org.clojure/clojure "1.10.1"]
  23. [org.clojure/tools.cli "0.4.2"]
  24. [org.clojure/tools.logging "0.5.0"]
  25. [org.webjars.npm/bulma "0.7.5"]
  26. [org.webjars.npm/material-icons "0.3.0"]
  27. [org.webjars/webjars-locator "0.36"]
  28. [prismatic/schema "1.1.12"]
  29. [ring-webjars "0.2.0"]
  30. [ring/ring-core "1.7.1"]
  31. [ring/ring-defaults "0.3.2"]
  32. [selmer "1.12.14"]]
  33. :min-lein-version "2.0.0"
  34. :source-paths ["src/clj"]
  35. :test-paths ["test/clj"]
  36. :resource-paths ["resources"]
  37. :target-path "target/%s/"
  38. :main ^:skip-aot email-counter.core
  39. :plugins []
  40. :profiles
  41. {:uberjar {:omit-source true
  42. :aot :all
  43. :uberjar-name "email-counter.jar"
  44. :source-paths ["env/prod/clj"]
  45. :resource-paths ["env/prod/resources"]}
  46. :dev [:project/dev :profiles/dev]
  47. :test [:project/dev :project/test :profiles/test]
  48. :project/dev {:dependencies [[pjstadig/humane-test-output "0.9.0"]
  49. [prone "2019-07-08"]
  50. [ring/ring-devel "1.7.1"]
  51. [ring/ring-mock "0.4.0"]]
  52. :plugins [[com.jakemccrary/lein-test-refresh "0.24.1"]]
  53. :source-paths ["env/dev/clj"]
  54. :resource-paths ["env/dev/resources"]
  55. :repl-options {:init-ns user}
  56. :injections [(require 'pjstadig.humane-test-output)
  57. (pjstadig.humane-test-output/activate!)]}
  58. :project/test {:resource-paths ["env/test/resources"]}
  59. :profiles/dev {}
  60. :profiles/test {}})