Skip to content

Web2py refactoring #1009

@jrosindell

Description

@jrosindell

We have for some time discussed removal of Web2py and at the same time refactoring parts of the codebase into more clearly distinct parts that ought to be easier to maintain (whether or not they sit in different repos). The remit of treebuilt is out of scope as it's already refactored and in a separate repo and does not use web2py.

Clearly separable sections:

  1. Tree viewer

Use: main tree viewer
Languages: JS (using Typescript or similar) possibly also HTML depending on scope
Frameworks: React, Next or Dash for the GUI part of the HTML pages in the longer term (not for the tree / canvas)?
Questions: Make this a JS library only or JS with HTML pages for the tree viewer (main version, expert version, MD version). Might we someday want the tree viewer to be hosted on a separate domain compared to our organisation's website. www.treeoflifeexplorer.com for instance is ours and could be used - feels appropriate.

  1. Tree data server

Use: serves data about the tree, taxonomy and species, which could be used for any purpose
Languages: Python
Frameworks: TBD - could use FastAPI and PyDAL
Questions: Is this a possible first candidate for the removal of web2py as it's more easily separated out from the rest? Does this include tour data?

  1. Sponsorships and organisation website

Use: Databases, APIs and pages related to sponoring and maintaining the sponsorships, broader organsiation website
Languages: Python, SQL, HTML certainly
Framworks: Django, Pyflask?
Questions: Is it a good idea to separate out sponsorships from the rest (I think not but could be persuaded), where would the tour creator codebase sit - I guess here as well?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions