{"id":18077615,"url":"https://github.com/fukamachi/utopian","last_synced_at":"2025-04-05T20:17:14.490Z","repository":{"id":1539106,"uuid":"1842508","full_name":"fukamachi/utopian","owner":"fukamachi","description":"A web framework for Common Lisp never finished.","archived":false,"fork":false,"pushed_at":"2023-07-31T11:37:32.000Z","size":174,"stargazers_count":99,"open_issues_count":3,"forks_count":5,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-02-11T19:13:06.669Z","etag":null,"topics":["common-lisp","web","webframework"],"latest_commit_sha":null,"homepage":"","language":"Common Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fukamachi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["fukamachi"]}},"created_at":"2011-06-03T13:39:11.000Z","updated_at":"2024-05-27T19:22:30.000Z","dependencies_parsed_at":"2023-02-14T01:17:02.931Z","dependency_job_id":null,"html_url":"https://github.com/fukamachi/utopian","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fukamachi%2Futopian","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fukamachi%2Futopian/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fukamachi%2Futopian/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fukamachi%2Futopian/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fukamachi","download_url":"https://codeload.github.com/fukamachi/utopian/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247393569,"owners_count":20931813,"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":["common-lisp","web","webframework"],"created_at":"2024-10-31T11:46:22.345Z","updated_at":"2025-04-05T20:17:14.459Z","avatar_url":"https://github.com/fukamachi.png","language":"Common Lisp","readme":"# Utopian\n\n[![Quicklisp dist](http://quickdocs.org/badge/utopian.svg)](http://quickdocs.org/utopian/)\n\n\u003e The caveman in offering the first garland to his maiden thereby transcended the brute. He became a utopian in thus rising above the crude necessities of nature. He entered the realm of art when he perceived the subtle use of the useless.\n\u003e -- Okakura Tenshin, \"The Book of Tea\"\n\n3 steps to write a better web application:\n\n1. Choose the right language.\n2. Choose the right web framework.\n3. Write less.\n\nUtopian is a web application framework that encourages rapid web development.\n\n## Requirements\n\n* [Roswell](https://github.com/roswell/roswell)\n* [Qlot](https://github.com/fukamachi/qlot)\n* An RDBMS you like one of SQLite3, MySQL or PostgreSQL.\n\n## Getting started\n\n### Installation\n\n```\n$ ros install fukamachi/utopian\n$ ros install fukamachi/lsx\n$ ros install fukamachi/qlot\n```\n\nEnsure `~/.roswell/bin` is in your shell `$PATH`.\n\n### Creating a new project\n\nTo generate the project skeleton, open a terminal and execute this command:\n\n```\n$ utopian new blog\n```\n\n### Installing dependencies\n\n```\n$ cd blog/\n$ qlot install\n```\n\n### Database Settings\n\nThis section is needed only when using MySQL or PostgreSQL.\n\n#### Creating a database user\n\n##### PostgreSQL\n\n```\n$ createuser -d blog\n```\n\n##### MySQL\n\n```\n$ mysql -u root\nmysql\u003e CREATE USER blog@localhost IDENTIFIED BY '';\nmysql\u003e GRANT ALL ON *.* TO blog@localhost;\n```\n\n#### Creating a database\n\n```\n$ .qlot/bin/utopian db create\n```\n\n### Starting a development server\n\n```\n$ .qlot/bin/utopian server\nHunchentoot server is going to start.\nListening on localhost:5000.\n```\n\n## DB Migration\n\nAdd Mito table classes under `models/` directory and run the following commands:\n\n```\n$ .qlot/bin/utopian generate migration\n$ .qlot/bin/utopian db migrate\n```\n\n## Examples\n\nSee [examples/](https://github.com/fukamachi/utopian/tree/next/examples) directory.\n\n## See Also\n\n- [Clack](https://github.com/fukamachi/clack) / [Lack](https://github.com/fukamachi/lack)\n- [MyWay](https://github.com/fukamachi/myway): Sinatra-compatible router.\n- [Mito](https://github.com/fukamachi/mito): An O/R Mapper with schema versioning.\n- [LSX](https://github.com/fukamachi/lsx): Embeddable HTML Templating engine.\n\n## Author\n\nEitaro Fukamachi (e.arrows@gmail.com)\n\n## Copyright\n\nCopyright (c) 2016-2018 Eitaro Fukamachi\n\n## License\n\nLicensed under the LLGPL License.\n","funding_links":["https://github.com/sponsors/fukamachi"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffukamachi%2Futopian","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffukamachi%2Futopian","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffukamachi%2Futopian/lists"}