Utopian Save

A web framework for Common Lisp never finished.

Project README

Utopian

Quicklisp dist

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
  • 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/ directory.

See Also

  • Clack / Lack
  • MyWay: Sinatra-compatible router.
  • Mito: An O/R Mapper with schema versioning.
  • LSX: Embeddable HTML Templating engine.

Author

Eitaro Fukamachi ([email protected])

Copyright (c) 2016-2018 Eitaro Fukamachi

License

Licensed under the LLGPL License.

Open Source Agenda is not affiliated with "Utopian" Project. README Source: fukamachi/utopian
Stars
98
Open Issues
3
Last Commit
10 months ago
Repository

Open Source Agenda Badge

Open Source Agenda Rating