Skip to content

A repository containing quite the original Web Relational Normalizer from Renzo Orsini

License

Notifications You must be signed in to change notification settings

UNICT-DMI/web-relational-normalizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Web Relational Normalizer

As the original tool developed by Renzo Orsini from Università Ca' Foscari Venezia is not available anymore, here's the version available from their official research catalogue. This tool is one of the suggested tool to check exercises during Database course @ DMI UniCT. The code has little changes in order to resolve some issues during the startup phase.

🚀 Getting started

There are two ways to run this repository: Docker or local installation.

Note

Project's default port is 8080 and can be edited in newnormalizer.lisp.

🐳 Docker

The easiest is to use the image published in this repository or the Dockerfile available. In order to install the normalizer with the provided Dockerfile you need to clone this repository and cd into the cloned repo.

docker build --tag 'relational-normalizer' .
docker run -d --name  'web-relational-normalizer' -p 8080:8080 'relational-normalizer'

Or pulling the latest build image with

docker run -d --name 'web-relational-normalizer' -p 8080:8080 ghcr.io/unict-dmi/web-relational-normalizer:main

💻 Local installation

Install sbcl from source.

Warning

There are also versions available from many packages manager, but sometimes they could create compatibility problems. Try at your own risk!

Now it's QuickLisp's turn, make sure to install cURL or to download manually the following file

curl -O https://beta.quicklisp.org/quicklisp.lisp
sbcl --no-sysinit --no-userinit --load quicklisp.lisp \
    --eval '(quicklisp-quickstart:install :path "~/.quicklisp")' \
    --eval '(ql:add-to-init-file)' \
    --quit

Clone this repository and move this project into quicklisp's local-project

git clone https://github.com/UNICT-DMI/web-relational-normalizer.git
cd web-relational-normalizer
mv fundep/ ~/.quicklisp/local-projects/fundep/
mv newnormalizer/ ~/.quicklisp/local-projects/newnormalizer/

And finally install the project's dependencies

sbcl \
    --eval '(load "~/.quicklisp/setup.lisp")' \
    --eval '(ql:quickload "alexandria")' \
    --eval '(ql:quickload "dlist")' \
    --eval '(ql:quickload "hunchentoot")' \
    --eval '(ql:quickload "ht-simple-ajax")' \
    --eval '(ql:quickload "cl-who")' \
    --quit

Finally, you can run it with

sbcl --load ~/.quicklisp/setup.lisp \
    --eval 'ql:quickload "newnormalizer"'
    --eval 'NN:start-web-server T'
    --eval 'sleep #xffffffff'

About

A repository containing quite the original Web Relational Normalizer from Renzo Orsini

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published