Skip to content
/ wine Public

A Curry implementation of a personal wine database together with a web-based interface.

Notifications You must be signed in to change notification settings

mihanus/wine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Wine Database and Web Interface

This Curry package contains an implementation of a personal wine database together with a web-based interface. It is implemented in Curry and based on the web framework Spicey and Bootstrap for a nice layout.

IMPORTANT NOTES:

  1. Before you compile the generated web application for the first time, execute the command

    > make install
    

    to install all packages required by this application (where the executable cypm of the Curry Package Manager should be in your path).

  2. Before you deploy your web application, you should define the variable WEBSERVERDIR in the Makefile according to your desired location.

    Then you can deploy your web application by the command

    > make deploy
    

The directory structure of this package is as follows (where is the name of your entity-relationship model).

  • src/Model/ This directory contains the implementation of the data model, i.e., it contains the Curry module <MODEL>.curry implementing the access to the database which are generated from the ER description. In addition to the Curry program, this directory also contains the Curry file of the original ER description (file <MODEL>_ERD.curry), the term files of the transformed ER description (<MODEL>_ERDT.term), and the info file <MODEL>_SQLCode.info which is used by the Curry preprocessor when SQL queries are embedded in the source code.

  • src/Controller/ This directory contains the implementation of the various controllers that are responsible to react on user interactions. It also contains a module AuthorizedControllers.curry that contains the authorization rules that should usually be adapted according to the customer requirements.

  • src/View/ This directory contains the implementation of the views of the different entities. These views are called from the corresponding controllers. Moreover, it also contains the module <MODEL>EntitiesToHtml.curry which contains the code to translate all entities into an HTML representation. Usually, this code should be adapted according to the customer requirements.

  • src/Config/ This directory contains modules to configure the overall access to the functionality provided by the system. For instance, the information about the routes, i.e., the URLs supported by the system and their mapping to individual controllers, is defined in the module RoutesData.curry. The module ControllerMapping.curry defines the actual mapping of controller references to the operations implementing the controllers. The module UserProcesses.curry contains the definition of the processes that can be selected by the user.

  • src/System/ This directory contains global modules implementing session management, authentication, authorization, user processes, etc.

  • public/ This directory contains images and style files used by the installed system.

About

A Curry implementation of a personal wine database together with a web-based interface.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published