{"id":13750601,"url":"https://github.com/open-plan-tool/gui","last_synced_at":"2025-05-09T15:32:14.426Z","repository":{"id":39600730,"uuid":"438569235","full_name":"open-plan-tool/gui","owner":"open-plan-tool","description":"Energy Planning Application","archived":false,"fork":true,"pushed_at":"2025-05-01T22:59:30.000Z","size":5170,"stargazers_count":9,"open_issues_count":116,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-01T23:28:56.265Z","etag":null,"topics":["energy-system","gui","gui-application","oemof","simulation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"isichos/epa","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/open-plan-tool.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-12-15T09:25:59.000Z","updated_at":"2025-04-28T22:25:41.000Z","dependencies_parsed_at":"2023-02-10T03:45:30.062Z","dependency_job_id":null,"html_url":"https://github.com/open-plan-tool/gui","commit_stats":{"total_commits":688,"total_committers":10,"mean_commits":68.8,"dds":"0.13953488372093026","last_synced_commit":"c5e5d2b8d1b8b1d2acba39712d1b203c72939f7b"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-plan-tool%2Fgui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-plan-tool%2Fgui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-plan-tool%2Fgui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-plan-tool%2Fgui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/open-plan-tool","download_url":"https://codeload.github.com/open-plan-tool/gui/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253275619,"owners_count":21882340,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["energy-system","gui","gui-application","oemof","simulation"],"created_at":"2024-08-03T08:00:40.999Z","updated_at":"2025-05-09T15:32:10.621Z","avatar_url":"https://github.com/open-plan-tool.png","language":"Python","funding_links":[],"categories":["Web development"],"sub_categories":["Django"],"readme":"# Welcome to the open_plan gui repository\n![open_plan_logo (10X1)](https://user-images.githubusercontent.com/70587431/144256918-974fcefd-29f5-4b2f-b68b-6468327ef50b.png)\n\nLearn more about the open_plan project on our [website](https://open-plan-tool.org/).\n\n## Credits\nThis code is based from previous open-source work done building a user interface to the [multi-vector-simulator](https://github.com/rl-institut/multi-vector-simulator) tool in the [Horizon2020](https://elandh2020.eu/) ELAND project. In open_plan project's scope a new design and more features are added, based on feedback collected in workshops held with stakeholders.\n\n## Basic structure\n\nThis repository contains the code for the user interface. The simulations are performed by [multi-vector-simulator](https://github.com/rl-institut/multi-vector-simulator) on a dedicated server (see the [open-plan-tool/simulation-server](https://github.com/open-plan-tool/simulation-server) repository). Once a simulation is over the results are sent back to the user interface were one can analyse them.\n\n![open-plan structure](https://github.com/open-plan-tool/gui/assets/4399407/89e1ff2a-1dd0-40e6-91a3-465c77426867)\n\n\n\n\n# Getting Started\n\n## Deploy locally using and using our open plan MVS server\n\nPrior to be able to develop locally, you might need to install postgres, simply google `install postgres` followed by your os name (`linux/mac/windows`)\n\n1. Create a virtual environment\n2. Activate your virtual environment\n3. Move to the `app` folder with `cd app`\n4. Install local development dependencies with `pip install -r requirements/local.txt`\n5. Create environment variables (only replace content surrounded by `\u003c\u003e`)\n```\nSQL_ENGINE=django.db.backends.postgresql\nSQL_DATABASE=\u003cyour db name\u003e\nSQL_USER=\u003cyour user name\u003e\nSQL_PASSWORD=\u003cyour password\u003e\nSQL_HOST=localhost\nSQL_PORT=5432\nDEBUG=(True|False)\n```\n6. Add an environment variable `MVS_HOST_API` and set the url of the simulation server you wish to use for your models\n7. Execute the `local_setup.sh` file (`. local_setup.sh` on linux/mac `bash local_setup.sh` on windows) you might have to make it executable first. Answer yes to the question\n8. Start the local server with `python manage.py runserver`\n9. You can then login with `testUser` and `ASas12,.` or create your own account\n\n## Deploy using Docker Compose\nThe following commands should get everything up and running, using the web based version of the MVS API.\n\nYou need to be able to run docker-compose inside your terminal. If you can't you should install [Docker desktop](https://www.docker.com/products/docker-desktop/) first.\n\n\n* Clone the repository locally `git clone --single-branch --branch main https://github.com/open-plan-tool/gui.git open_plan_gui`\n* Move inside the created folder (`cd open_plan_gui`)\n* Edit the `.envs/epa.postgres` and `.envs/db.postgres` environment files\n   * Change the value assigned to `EPA_SECRET_KEY` with a [randomly generated one](https://randomkeygen.com/)\n   * Make sure to replace dummy names with you preferred names\n   * The value assigned to the variables `POSTGRES_DB`, `POSTGRES_USER`, `POSTGRES_PASSWORD` in `.envs/db.postgres` should match the ones of\n   the variables `SQL_DATABASE`, `SQL_USER`, `SQL_PASSWORD` in `.envs/epa.postgres`, respectively\n\n   * Define an environment variable `MVS_HOST_API` in `.envs/epa.postgres` and set the url of the simulation server\n   you wish to use for your models (for example `MVS_API_HOST=\"\u003curl to your favorite simulation server\u003e\"`), you can deploy your own [simulation server](https://github.com/open-plan-tool/simulation-server) locally if you need\n\n    * Assign the domain of your website (without `http://` or `https://`) to `TRUSTED_HOST` , see https://docs.djangoproject.com/en/4.2/ref/settings/#csrf-trusted-origins for more information\n\nNext you can either provide the following commands inside a terminal (with ubuntu you might have to prepend `sudo`)\n* `docker-compose --file=docker-compose-postgres.yml up -d --build` (you can replace `postgres` by `mysql` if you want to use mysql)\n* `docker-compose --file=docker-compose-postgres.yml exec -u root app_pg sh initial_setup.sh` (this will also load a default testUser account with sample scenario).\n\nOr you can run a python script with the following command\n* `python deploy.py -db postgres`\n\nFinally\n* Open browser and navigate to http://localhost:8080 (or to http://localhost:8090 if you chose to use `mysql` instead of `postgres`): you should see the login page of the open_plan app\n* You can then login with `testUser` and `ASas12,.` or create your own account\n\n### Proxy settings (optional)\nIf you use a proxy you will need to set `USE_PROXY=True` and edit `PROXY_ADDRESS=http://proxy_address:port` with your proxy settings in `.envs/epa.postgres`.\n\n\u003e**_NOTE:_** If you wish to use mysql instead of postgres, simply replace `postgres` by `mysql` and `app_pg` by `app` in the above commands or filenames\n\u003chr\u003e\n\n\u003e**_NOTE:_** Grab a cup of coffee or tea for this...\n\u003chr\u003e\n\n\u003e**_NOTE:_** Grab a cup of coffee or tea for this...\n\u003chr\u003e\n\n## Test Account\n\u003e You can access a preconfigured project using the following login credentials:  `testUser:ASas12,.`\n\u003chr\u003e\n\n## Tear down (uninstall) docker containers\nTo remove the application (including relevant images, volumes etc.), one can use the following commands in terminal:\n\n`docker-compose down --file=docker-compose-postgres.yml -v`\n\nyou can add `--rmi local` if you wish to also remove the images (this will take you a long time to rebuild the docker containers from scratch if you want to redeploy the app later then)\n\nOr you can run a python script with the following command\n\n`python deploy.py -db postgres --down`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-plan-tool%2Fgui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopen-plan-tool%2Fgui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-plan-tool%2Fgui/lists"}