Single Java App a Day

This idea popped into my head several days ago and doesn't leave me, so although I know I won't have time to implement it in the near future I am writing it down - feel free to steal this idea and implement it!

Basic idea - for an extensive amount of time (a month? two months?) build every day a new java application, as follows:
  • Think thoroughly about the design of the applications as they should have common componnets spanning over all of the applications, where each app will add it's added benefit (the main business login) on top of the common grounds
  • For example, I want to have all of my applications as javafx gui applications, so I should build a common component with a main content area, a log area below that one, a menu with all common menu items already there (file->save, file->exit, help->help, help->about, help->exit) etc
  • Each application will do an atomic action (KISS)
  • All applications should be open sourced and on github
  • All the common boiler plate should be created before building the first application
  • After creating several applications, I will have to upgrade the boilerplate as I understand better the needs of each application - thus I will need to have an additional maintenance day to upgrade all existing applications to the new boilerplate (a day every 10 days/apps ?)
  • Many applications might be redundant as similiar applications might be at large already
  • Before I begin I should have a method to pack each application into an exe or bundle it to a nice bundle while having common maven code for the "Package" task
  • Each applications should take a single day only
  • Business logic for each application could be wrapping a java library, wrapping a command line app etc
  • This should be done like a 30 day challenge
  • I might want to build an app which bundles several previous apps
  • Ideas for apps:
    • Parse sitemap
    • Generate Sitemap
    • Parse JSON
    • Parse & Edit CSV
    • Parse Robots.txt file
    • Prime numbers generator
    • Random numbers generator
    • Raffilator (creates a draw between several groups)
    • Synnonimizer
    • Currency converter
    • length converter
    • Temperture converter
    • Image to pdf
    • Simple PDF editor
    • ...
  • The goals of this practice are
    • Changing my mindset from large projects taking months to do anything to simple & quick apps
    • Lots of Java practice
    • Lots of JavaFX practice
    • All open sourced so maybe some of them might catch up and might be useful to the public

Comments

Popular posts from this blog

Profiling Java @ 2019

Shared/Pro/Managed Hosting for your site - which to choose ? (NO AFFILIATE LINKS!)

ZVR converter