Nanogram is designed for the enthusiest who wants complete data sovereignty on their social media platform.

Spin up your own instance on termux for Android.

Demo here.

Install instructions are at the bottom of the readme.

  • hereforawhile@lemmy.mlOP
    link
    fedilink
    arrow-up
    1
    arrow-down
    2
    ·
    edit-2
    21 hours ago

    Why? Because it’s long and complex? It would be the same exact thing just separated. What’s the difference honestly?

    Here is a overview.

    It starts with defining environment variables, app directory, file permissions for the directory.

    Then it assembles/installs or updates the dependencies.

    Then is concatenates the python app. The python app is big because it’s complex with all the game logic of three mini games.

    The python app grabs all it’s dependency packages it needs, creates the database, defines all the functions I wanted such as… What’s a like, what does a comment button do, what does a login button do, what’s a Scrabble game, what’s a chess game, what’s a read receipt… All these functions define when and where to interact with the memory of the database.

    Then the html templates are concatenated. This is shell of what is served to the client so they can interact with the database.

    Next the CSS file is born. This is just a skin to make it all look nice.

    Finally, it finishes with the CLI server manager. It provides the operator admin functions. Turn the server on, off, networking on and off, backups, invites to server, uninstall the whole app and more.

    • bobslaede@feddit.dk
      link
      fedilink
      English
      arrow-up
      2
      ·
      8 hours ago

      There are many ways to bundle, package, release, update, build, develop and publish software.
      The one your AI has chosen for you, is definitely not one that I would recommend.

      You could take a look at other open source software, and see how those projects are developed and packaged, and maybe find some inspiration.

      If you at some point want to contribute to other pieces of software, or have others contribute to yours, it would be beneficial to have a shared understanding on how to properly do stuff.

      • hereforawhile@lemmy.mlOP
        link
        fedilink
        arrow-up
        2
        ·
        4 hours ago

        Thanks, that’s actually the first constructive comment here. I do realize it’s a completely unconventional release format and if I want others to contribute I’ll have to reformat the way the repo is structured. I just hope you at least understand why it is the way it is. That’s was not the LLM’s choice. I specifically asked for the monolithic format because my development environment is a mobile device…it was too complicated to split the program into its expanded file directory and have to update each individual file before testing an iteration and feature I added.

        For example; to add a notification dot, I would have needed to touch the python app routing, the html, database classes, css. It was to much to keep track on for a mobile environment. The single file script allowed for a faster feedback loop because I can just swap the script in the terminal and it will overwrite and the existing directory in a snap.

        • bobslaede@feddit.dk
          link
          fedilink
          English
          arrow-up
          1
          ·
          3 hours ago

          Then maybe what you have made is a mobile IDE (integrated development environment), where that is how you might be able to do development on a small-screen device. But the actual code should probably be split up. That way the git diff stuff will also be way easier.