Matt-Gracz / ManipuLogic_PROTOTYPE

An automated "logic calculator" written in Python. Future features: 1st/2nd order logic, automate proofs, etc...
GNU General Public License v3.0
0 stars 0 forks source link

Plan out project using milestones in GitHub #10

Open Matt-Gracz opened 5 years ago

Matt-Gracz commented 5 years ago

Project planning todo:

  1. Create stories and arch runway items to encapsulate hopefully around 2 months worth of work.
  2. Finalize initial architectural documentation and upload to DEV branch

DEV branch cleanup:

  1. Comment all classes, methods, and code that isn't obviously self-describing. Ensure to use a consistent commenting style that will extend to future development to prevent needing to redo comments later. Use wxPython's commenting style?
Matt-Gracz commented 5 years ago

Initial unprioritized BL items:

arch: -research better program structure for release candidates -do we want to allow multiple instances of ManipuLogic to run simultaneously? Currently blocked -update architectural documentation and create documentation strategy -define and document initial CLI approach -define and document initial GUI approach -choose GUI toolkit, at least for initial development. -figure out unit testing framework --> use pre-existing or write my own? -define initial branching strategy: DEV as master. for development and testing, demos for end-of-sprint demos if needed, REL<release #> for release candidates. -define sprint length and figure out how to track in GitHub (2 weeks, use milestoens?) Make release candidates how often: every 4 sprints? -feature/story A.C.: feature dev'd, unit tests pass, demo-able, and impacted documents updated.

features: -Make DEV branch's functionality match the prototype's, at a minimum, so we have a good starting point. -binary operator distribution -double negation -order of operations when parens aren't specified (nice-to-have?) -implement CLI for sentential logic -implement GUI for sentential logic -implement first order logic -implement second order logic -implement CLI for predicate logic -implement GUI for predicate logic -implement basic theorem proving for sentential logic -finish theorem proving for sentential logic -implement basic theorem proving for predicate logic -finish theorem proving for predicate logic -clean up CLI and GUI for final release -finalize program structure for final release