Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fukamachi/utopian
A web framework for Common Lisp never finished.
https://github.com/fukamachi/utopian
common-lisp web webframework
Last synced: 15 days ago
JSON representation
A web framework for Common Lisp never finished.
- Host: GitHub
- URL: https://github.com/fukamachi/utopian
- Owner: fukamachi
- Created: 2011-06-03T13:39:11.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2023-07-31T11:37:32.000Z (over 1 year ago)
- Last Synced: 2024-10-31T11:46:05.442Z (2 months ago)
- Topics: common-lisp, web, webframework
- Language: Common Lisp
- Homepage:
- Size: 170 KB
- Stars: 99
- Watchers: 14
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# Utopian
[![Quicklisp dist](http://quickdocs.org/badge/utopian.svg)](http://quickdocs.org/utopian/)
> 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.
> -- Okakura Tenshin, "The Book of Tea"3 steps to write a better web application:
1. Choose the right language.
2. Choose the right web framework.
3. Write less.Utopian is a web application framework that encourages rapid web development.
## Requirements
* [Roswell](https://github.com/roswell/roswell)
* [Qlot](https://github.com/fukamachi/qlot)
* An RDBMS you like one of SQLite3, MySQL or PostgreSQL.## Getting started
### Installation
```
$ ros install fukamachi/utopian
$ ros install fukamachi/lsx
$ ros install fukamachi/qlot
```Ensure `~/.roswell/bin` is in your shell `$PATH`.
### Creating a new project
To generate the project skeleton, open a terminal and execute this command:
```
$ utopian new blog
```### Installing dependencies
```
$ cd blog/
$ qlot install
```### Database Settings
This section is needed only when using MySQL or PostgreSQL.
#### Creating a database user
##### PostgreSQL
```
$ createuser -d blog
```##### MySQL
```
$ mysql -u root
mysql> CREATE USER blog@localhost IDENTIFIED BY '';
mysql> GRANT ALL ON *.* TO blog@localhost;
```#### Creating a database
```
$ .qlot/bin/utopian db create
```### Starting a development server
```
$ .qlot/bin/utopian server
Hunchentoot server is going to start.
Listening on localhost:5000.
```## DB Migration
Add Mito table classes under `models/` directory and run the following commands:
```
$ .qlot/bin/utopian generate migration
$ .qlot/bin/utopian db migrate
```## Examples
See [examples/](https://github.com/fukamachi/utopian/tree/next/examples) directory.
## See Also
- [Clack](https://github.com/fukamachi/clack) / [Lack](https://github.com/fukamachi/lack)
- [MyWay](https://github.com/fukamachi/myway): Sinatra-compatible router.
- [Mito](https://github.com/fukamachi/mito): An O/R Mapper with schema versioning.
- [LSX](https://github.com/fukamachi/lsx): Embeddable HTML Templating engine.## Author
Eitaro Fukamachi ([email protected])
## Copyright
Copyright (c) 2016-2018 Eitaro Fukamachi
## License
Licensed under the LLGPL License.