All Projects → risoflora → Brookfreepascal

risoflora / Brookfreepascal

Licence: other
The perfect Free Pascal framework for your web applications.

Programming Languages

pascal
1382 projects

Projects that are alternatives of or similar to Brookfreepascal

Swiftly
Swiftly is an easy to use Qt/C++ web framework
Stars: ✭ 20 (-68.75%)
Mutual labels:  web-application, http-server
Mofuw
mofuw is *MO*re *F*aster, *U*ltra minimal *W*ebserver.
Stars: ✭ 107 (+67.19%)
Mutual labels:  web-application, http-server
Yetiforcecrm
Our team created for you one of the most innovative CRM systems that supports mainly business processes and allows for customization according to your needs. Be ahead of your competition and implement YetiForce!
Stars: ✭ 1,056 (+1550%)
Mutual labels:  web-application
Theorytracker
🎼 HTML5/WebAudio multi-track functional harmony analysis and songwriting app! -- https://hlorenzi.github.io/theorytracker/
Stars: ✭ 62 (-3.12%)
Mutual labels:  web-application
Httpserver
A high performance, single threaded, HTTP server written in C++ as a learning tool. Uses kqueue for event management, therefore is MacOS / *BSD only!
Stars: ✭ 59 (-7.81%)
Mutual labels:  http-server
Imgart
🎨 IMGART it's a simple, fast and reliable HTTP service for image processing based on filters and profiles
Stars: ✭ 55 (-14.06%)
Mutual labels:  http-server
Vtx clientserver
VTX Client / Server package.
Stars: ✭ 60 (-6.25%)
Mutual labels:  http-server
Qtwebapp
QtWebApp is a HTTP server like Java servlets, written in C++ with the Qt framework.
Stars: ✭ 50 (-21.87%)
Mutual labels:  http-server
Hospital Management System
JavaEE web application Discuss how to build Full java web app big system from scratch to Professional
Stars: ✭ 64 (+0%)
Mutual labels:  web-application
Rnl
RNL - Realtime Network Library - The opensource reliable UDP network library
Stars: ✭ 59 (-7.81%)
Mutual labels:  lazarus
Civs
Condorcet Internet Voting System
Stars: ✭ 61 (-4.69%)
Mutual labels:  web-application
Lgenerics
Generic algorithms and data structures for Lazarus/Free Pascal
Stars: ✭ 59 (-7.81%)
Mutual labels:  lazarus
Lazarus addon
the original lazarus-recovery firefox add-on with some slight modifications -mainly removing the Donation nag
Stars: ✭ 56 (-12.5%)
Mutual labels:  lazarus
Flogo Contrib
Flogo Contribution repo. Contains activities, triggers, models and actions.
Stars: ✭ 60 (-6.25%)
Mutual labels:  http-server
Lectures
Lecture scripts and slides I use during the Software Engineering course at TU Dresden
Stars: ✭ 52 (-18.75%)
Mutual labels:  web-application
Http Server
A non-blocking HTTP application server for PHP based on Amp.
Stars: ✭ 1,122 (+1653.13%)
Mutual labels:  http-server
Mopaint
🎨💪 Modern, modular paint and more! (pre-alpha, not much done yet)
Stars: ✭ 50 (-21.87%)
Mutual labels:  web-application
Esp8266
This repository contains source code for the ESP8266.
Stars: ✭ 58 (-9.37%)
Mutual labels:  http-server
Mail4delphi
Mail4Delphi uses the Indy component to send the email.
Stars: ✭ 60 (-6.25%)
Mutual labels:  lazarus
Event Management
helps to register an users for on events conducted in college fests with simple logic with secured way
Stars: ✭ 65 (+1.56%)
Mutual labels:  web-application

INTRODUCTION

Brook for Free Pascal is the perfect Free Pascal framework for your web applications. It's pure Pascal. You don't need to leave your preferred programming language.

It's complete: simple actions or configurable actions for database access, advanced routing features, wizard for Lazarus, support for internationalization, high compatibility with JSON structures, easy and elegant REST implementation, plugins for varied needs, extensible and decoupled brokers... In fact, you have several reasons to adopt Brook as your web development framework.

FEATURES

  • Advanced routes management – Actions are performed by means of routes. Brook knows how to receive a request and choose the correct URL and the correct method to reply to it.
  • Integrated data persistance – Brook offers a table object where data can be handled. Less instantiations, less coding, with an elegant syntax.
  • JSON native supportJSON is widespred in the web for data exchange purposes. You will really appreciate Brooks' good JSON support.
  • REST architecture supportREST is an architecture able to simplify and standardize data requests and replies. Brook is powerful even if you don't use REST – but you will want to use it.
  • Lazarus wizards for installation and usage - With Lazarus, development is easier; with the Brook wizards, only a few clicks are required to start and configure your Brook projects.

GET STARTED

If you use Free Pascal only:

Create three files:

  • cgi1.lpr;
  • unit1.pas;
  • brokers.pas;

In cgi1.lpr, type:

program cgi1;
 
{$mode objfpc}{$H+}
 
uses
  BrookApplication, Brokers, Unit1;
 
begin
  BrookApp.Run;
end.

In unit1.pas, type:

unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  BrookAction;
 
type
  TMyAction = class(TBrookAction)
  public
    procedure Get; override;
  end;
 
implementation
 
procedure TMyAction.Get;
begin
  Write('Hello world!');
end;
 
initialization
  TMyAction.Register('*');
 
end.

In brokers.pas, type:

unit Brokers;

{$mode objfpc}{$H+}

interface

uses
  BrookFCLCGIBroker;

implementation

end. 

Compile the project cgi1.lpr and copy the resulting file to CGI directory of your web server. Now, in your web browser, access the following URL:

http://localhost/cgi-bin/cgi1

If you are a Lazarus user:

Open and install the file brookex.lpk. After the installation, select File | New ... and, in Brook for Free Pascal, choose the Simple CGI application option as shown in the figure below:

Brook - New project

Save and compile the project. Copy the resulting file to the CGI directory of your web server and enjoy! See the final result:

Brook - Hello world

PLUGINS

  • dOPF – Sleek, intuitive and fast object persistence for faster and easier database development.
  • RUtils – Some general purpose routines for string conversion, parsing, encoding and more.
  • JTemplate – Fill variables in a template file.
  • QTemplate – Alternative to the FPTemplate engine.
  • EasyRSS – Easiest way for Pascal developers to provide news updating services in their applications.
  • XMailer – Simple way to send e-mail using Free Pascal.
  • AlgEx – Process algebraic expressions passed as strings.
  • Captcha – Verification images to block bot access on login pages.
  • MGeoIP – Identify the name of the country or city where IPs reside.
  • ConvUtils – Conversion between units of measurement (centimeters, inches, liters etc.).
  • HtmlDoc – Write headers, body and other relevant tags using Object Pascal.
  • LJGridUtils – Easy conversion from LCL to JSON and vice versa.
  • Brook-Telegram – Consume the Telegram Bots API in a Brook application.

LICENSE

The source code of the Brook for Free Pascal is distributed under the GNU Lesser General Public License. See the project licence for copyright/license details.

SYSTEM REQUIREMENTS

The stable version of Free Pascal & Lazarus.

DOCUMENTATION

The project documentation is available in two formats: HTML and PDF.

VERSIONING

For transparency and insight into our release cycle, and for striving to maintain backward compatibility, Brook for Free Pascal will be maintained under the Semantic Versioning guidelines as much as possible.

Releases will be numbered with the following format:

<major>.<minor>.<release>

And constructed with the following guidelines:

  • Breaking backward compatibility bumps the major (and resets the minor and release);
  • New additions without breaking backward compatibility bumps the minor (and resets the release);
  • Bug fixes and misc changes bumps the release;

For more information on SemVer, please visit http://semver.org.

SUPPORT, BUGS, CONTACT

Please use the issues page. Your cooperation will be appreciated.

CONTRIBUTORS

Brook would not be possible without important and active contributors. See their names here.

See the name of all donors here.

DOWNLOAD

You can download the last release here. Alternatively, you can also follow the project's GIT repository. The address is:

https://github.com/risoflora/brookfreepascal.git

THIRD PARTY

The Brook supports third party solutions and, for these, there is a broker file implementing your features. You can download the package containing all files here.

ALTERNATIVES

  • Brook framework - Microframework which helps to develop web Pascal applications.
  • mORMot - Synopse mORMot ORM/SOA/MVC framework.
  • Free Spider - Web development package for Free Pascal/Lazarus.
  • FCL-Web - Built-in Free Pascal web library.

Welcome to Brook! Welcome to Brook!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].