Coder Social home page Coder Social logo

mihanus / recipes Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 1.0 377 KB

Implementation of a recipe database with a web-based interface implemented in Curry

License: BSD 3-Clause "New" or "Revised" License

Makefile 1.85% CSS 0.89% HTML 0.26% Curry 96.39% Python 0.62%

recipes's Introduction

A Recipe Database and Web Interface

This Curry package contains an implementation of a recipe database together with a web-based interface. It is implemented in Curry and based on the web framework Spicey.

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.

recipes's People

Contributors

mihanus avatar

Stargazers

Sean P. Myrick V19.1.7.2 avatar Louis Meyer avatar Guilherme avatar fwcd avatar

Watchers

 avatar Sean P. Myrick V19.1.7.2 avatar

Forkers

seanpm2001

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.