{"id":18360153,"url":"https://github.com/wekan/wekanstudio","last_synced_at":"2025-04-10T03:30:17.258Z","repository":{"id":223048793,"uuid":"759181828","full_name":"wekan/wekanstudio","owner":"wekan","description":"WeKan Multiverse prototype, based on redbean/fullmoon/sqlite3/petclinic technology.","archived":false,"fork":false,"pushed_at":"2025-02-07T22:59:53.000Z","size":27285,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-15T18:52:04.469Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wekan.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"docs/roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-17T21:45:38.000Z","updated_at":"2025-02-07T22:59:56.000Z","dependencies_parsed_at":"2025-01-11T22:17:51.998Z","dependency_job_id":"1098340a-37a9-4c3c-b72c-dcba18846809","html_url":"https://github.com/wekan/wekanstudio","commit_stats":null,"previous_names":["wekan/wekanbean","wekan/wekanstudio"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wekan%2Fwekanstudio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wekan%2Fwekanstudio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wekan%2Fwekanstudio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wekan%2Fwekanstudio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wekan","download_url":"https://codeload.github.com/wekan/wekanstudio/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248150613,"owners_count":21055953,"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":[],"created_at":"2024-11-05T22:26:50.756Z","updated_at":"2025-04-10T03:30:17.218Z","avatar_url":"https://github.com/wekan.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WeKan Studio\n\nAt port 7700, srv/.init.lua\n\n## Screenshot\n\nIn WeKan Studio, showing current visual look of `All Boards` page of WeKan Open Source kanban https://wekan.github.io\n\nMore info about progress at https://github.com/wekan/wekanstudio/blob/main/CHANGELOG.md\n\n![screenshot](screenshot.png)\n\n## TL;DR\n\n- BLWRSL (Blow Resilient) (BSD/Linux/Mac/Windows / Redbean / SQLite / Lua). Similar like LAMP (Linux/Apache/MySQL/PHP).\n- One executeable: Redbean/Lua/SQLite + .zip file at end of same executeable. Like Go, but same executeable works at Windows/Mac/Linux/BSD, no need for separate exe per OS/CPU.\n\n## Starting\n\n```\ngit clone https://github.com/wekan/wekanstudio\n\ncd wekanstudio\n\nmake start\n```\n\n## Stopping\n\n2 times keyboard keys `Ctrl` and `c`:\n\n```\nCtrl-c Ctrl-c\n```\n\n## 1) Executeable file: wekan.com\n\n- 100%: wekan.com one server executeable\n  - 50%: C89 executeable\n    - Cosmopolitan Cross-Platform https://github.com/jart/cosmopolitan\n      - BSD/Linux/Mac/Windows x86_64/s390x\n      - blink x86_64 emulator: `blink wekan.com`\n        - s390x/RISC-V: `git clone https://github.com/cosmopolitan/blink \u0026\u0026 cd blink \u0026\u0026 ./configure \u0026\u0026 make -j$(nproc) \u0026\u0026 ./blink wekan.com`\n        - Android Termux from Play Store or F-Droid: `pkg install blink \u0026\u0026 blink wekan.com`\n    - Redbean webserver https://redbean.dev https://github.com/jart/cosmopolitan/blob/master/tool/net/redbean.c\n    - Lua interpreter https://en.wikipedia.org/wiki/Lua_(programming_language)\n    - SQLite https://sqlite.org https://github.com/jart/cosmopolitan/blob/master/tool/net/lsqlite3.c\n  - 50%: `srv` directory zip archive added to end of above C89 executeable, to make one executeable\n    - `srv/.init.lua` load wekan.lua, starting port\n    - `srv/.lua/`\n      - `wekan.lua`: Functions for Templates, Router, Database name `wekan.db`, \n      - `schema.sql`: SQLite database schema like `CREATE TABLE`\n      - `data.sql`: Optionally data with `INSERT INTO`\n      - `fullmoon.lua`: Fullmoon web framework https://github.com/pkulchenko/fullmoon\n      - `dblib.lua`: Database library \n      - `formlib.lua`: Form library\n      - `util.lua`: Utilities\n    - `srv/templates`: Backend templates with HTML/CSS/Lua\n    - `srv/assets/` Frontend static HTML/CSS/JS\n\n## 2) Database file: wekan.db\n\n- SQLite database. It will be created to same directory where `wekan.com` is, if it does not already exist.\n\n## Web browsers\n\n- Tested with all browsers, works also without Javascript:\n  - Modern browsers based on: Chromium, Firefox, Safari\n  - Upcoming browsers: Ladybird\n  - Limited Javascript: Netsurf, Amiga IBrowse, ReactOS 32bit Wine Internet Explorer\n  - Without Javascript: Lynx, ELinks, w3m w3m-img, FreeDOS Dillo\n  - Legacy browsers: Netscape, IE\n- If browser has Javascript support, Javascript code can use https://unpoly.com for additional effects.\n- No cookies. No localstorage. Sessions stored to serverside database, based on browser properties. More info at https://github.com/wekan/wekanstudio/blob/main/docs/roadmap.md#sessions\n\n## Backend: Lua/SQLite\n\n- SSR (Server Side Rendering). Like Web 1.0, with HTML/CSS at frontend using HTML Forms with POST/GET. Redbean at backend. Similar like LAMP.\n\n## Cross-platform distro Cosmos\n\nRelated to Redbean, that is one part of Cosmos:\n\nhttps://justine.lol/cosmo3/\n\n## Full source build of Cosmopolitan\n\nThis is needed, if you are packaging Cosmopolitan related for some distro,\nthat requires full source build, and can not use precompiled compiler.\n\nYou'll need to use gcc-12.3 now, because that's the latest version\nahgamut has patched to build with cosmopolitan libc:\n\nhttps://github.com/ahgamut/gcc/tree/portcosmo-12.3\n\nUse the latest commit. To compile gcc, run:\n```\nmake all-gcc\n\nmake install -i\n```\nGcc's default build process tries to compile libgcc and libgomp\nwith the newly built xgcc binary, which ahgamut has not gotten\ncompletely right just yet.\n\n## WeKan Studio: General purpose web framework\n\nThis is general purpose web framework for creating any app, having features from:\n\n- WeKan Open Source kanban https://wekan.github.io https://github.com/wekan/wekan/wiki/Deep-Dive-Into-WeKan\n  - Same features, with changes to use minimal amount of code\n  - Same API:\n    - https://wekan.github.io/api/ \n    - https://github.com/wekan/wekan/blob/main/api.py\n- WeKan Multiverse prototypes https://github.com/wekan/wekan/wiki/WeKan-Multiverse-Roadmap\n- Database structure is same as in WeKan Open Source kanban https://wekan.github.io https://github.com/wekan/wekan (also features will be same and more),\n  when exported to SQLite with https://github.com/wekan/minio-metadata\n\nWeb framework is based on:\n\n- [Cosmopolitan](https://github.com/jart/cosmopolitan) cross-platform one executeable for Windows/Mac/Linux/BSD x86_64/arm64. There is no need for separate executeable for each CPU/OS.\n- [Blink](https://github.com/jart/blink), that is x86_64 emulator faster than Qemu. With Blink, it is possible to run also at s390x, RISC-V etc, running like `blink wekan.com`.\n- [Redbean](https://redbean.dev) webserver tech, where to end of C89/SQLite3/Lua server executeable is added Lua code and HTML/CSS/images etc like .zip file, files read from there directly without extracting\n- [SQLite3](https://sqlite.org) database, that is included to Redbean.\n- [Fullmoon](https://github.com/pkulchenko/fullmoon) Lua web framework, that is designed for Redbean webserver.\n- [Petclinic](https://github.com/xet7/pet) example, that was ported from Java to Fullmoon, and added code that makes possible to use same SQLite database from many CGI-like Lua processes.\n\nNative apps will be added for many CPU/OS. They will use same WeKan APIs, and native hardware features.\n\n## Security\n\nSee https://redbean.dev about DDoS protection, sandboxing, asan and other security features.\n\nIf you know about any other technology, that can handle DDoS without CloudFlare, please email support@wekan.team\n\n## Docs\n\nHow to build and run `wekan.com`:\n\nhttps://github.com/wekan/wekanstudio/blob/main/docs/starting.md\n\nAlso other Docs at https://github.com/wekan/wekanstudio/tree/main/docs\n\n## Docker\n\nTODO. Related:\n\nhttps://github.com/solisoft/luaonbeans/blob/main/Dockerfile\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwekan%2Fwekanstudio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwekan%2Fwekanstudio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwekan%2Fwekanstudio/lists"}