Skip to content

Commit 7e4048c

Browse files
committed
readme
1 parent 8576437 commit 7e4048c

File tree

3 files changed

+59
-23
lines changed

3 files changed

+59
-23
lines changed

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
<h1 align="center">SQLpage</h1>
1+
<h1 align="center">
2+
[SQLpage](https://sql.ophir.dev)
3+
</h1>
24

35
[![A short video explaining the concept of sqlpage](./docs/sqlpage.gif)](./docs/sqlpage.mp4)
46

5-
SQLPage is an [**SQL**](https://en.wikipedia.org/wiki/SQL)-only webapp builder.
7+
[SQLpage](https://sql.ophir.dev) is an **SQL**-only webapp builder.
68
It is meant for data scientists, analysts, and business intelligence teams
79
to build powerful data-centric applications quickly,
810
without worrying about any of the traditional web programming languages and concepts.
@@ -69,6 +71,10 @@ SELECT
6971
name, type, placeholder, required,
7072
description, min, max
7173
FROM user_form;
74+
75+
INSERT INTO user (first_name, last_name, birth_date)
76+
SELECT ($first_name, $last_name, $birth_date)
77+
WHERE $first_name IS NOT NULL;
7278
```
7379

7480
<td>

examples/official-site/index.sql

Lines changed: 50 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,20 @@ select 'shell' as component,
1111

1212
SELECT 'hero' as component,
1313
'SQLPage' as title,
14-
'Open-source low-code web application framework. Write full websites using only simple database queries.' as description,
14+
'Open-source *low-code* web application framework.
15+
Create **full websites** writing only simple database queries.' as description_md,
1516
'Lac_de_Zoug.jpg' as image,
1617
'/get_started.sql' as link,
1718
'Get started !' as link_text;
1819
-- the mantra: fast, beautiful, easy
1920
SELECT 'Fast' as title,
20-
'Pages load instantly, even on slow mobile networks, and whatever the size of your database.' as description,
21+
'Pages load instantly, even on slow mobile networks.
22+
SQLPage comes as a **single lightweight executable** with great performance even on cheap servers.' as description_md,
2123
'mail-fast' as icon,
2224
'red' as color;
2325
SELECT 'Beautiful' as title,
24-
'Uses pre-defined components that look professional. The page you are looking at right now is built with SQLPage.' as description,
26+
'The page you are looking at right now is written entirely in SQL,
27+
using only professional looking pre-defined SQLPage components.' as description,
2528
'eye' as icon,
2629
'green' as color;
2730
SELECT 'Easy' as title,
@@ -31,31 +34,58 @@ SELECT 'Easy' as title,
3134

3235
-- Quick feature overview
3336
SELECT 'card' as component,
34-
'Build SQL-only Websites !' as title,
37+
'What is SQLPage ?' as title,
3538
1 as columns;
36-
SELECT 'Write database queries, nothing more' as title,
37-
'SQLPage is a tool that allows you to build websites using SQL queries.
38-
It empowers people who have access to databases but don''t know programming to create beautiful dynamic websites.
39-
All SQL operations are supported, you can not only visualize database contents, but also UPDATE and INSERT data coming from your users.' as description,
39+
SELECT 'SQLPage takes your SQL queries and renders a beautiful web app' as title,
40+
'
41+
SQLPage is a tool that allows you to **build websites** using nothing more than **SQL queries**.
42+
You write simple text files containing SQL queries, SQLPage runs them on your database, and **renders the results as a website**.
43+
44+
You can display the information you *SELECT* from your database in lists, tables, cards and other user interface widgets.
45+
But you can also *INSERT*, *UPDATE* and *DELETE* data from your database using SQLPage, and build a full CRUD (create read update delete) webapp.' as description_md,
4046
'paint' as icon,
4147
'blue' as color;
42-
SELECT 'Build Websites Quickly and Easily' as title,
43-
'SQLPage will let you create websites without the need to learn complex programming languages.
44-
Reuse your database querying skills to fill simple predefined components with data.
45-
SQLPage is written in a fast and secure programming language: Rust.
46-
We made all the optimizations so that you don''t have to. Think about your data, and nothing else.' as description,
48+
SELECT 'Pre-built components let you construct websites Quickly and Easily' as title,
49+
'At the core of SQLPage is [a rich library of **components**](./documentation.sql). They are themselves built with traditional web technologies, but you never have to edit them if you don''t want to.
50+
SQLPage just fills in the properties of the components with the data returned by your SQL queries.
51+
You can build entire web applications just by combining the components that come bundled with SQLPage.
52+
53+
For instance, the current list of features on this page is built with the following simple SQL query:
54+
55+
```sql
56+
SELECT ''card'' as component, ''What is SQLPage ?'' as title;
57+
SELECT ''Pre-built components […]'' as title, ''At the core of SQLPage […]'' as description;
58+
```
59+
60+
Additionnally, SQLPage itself is written in a fast and secure programming language: Rust.
61+
We made all the optimizations so that you can think about your data, and nothing else.' as description_md,
4762
'rocket' as icon,
4863
'green' as color;
49-
SELECT 'Iterate and Experiment with Ease' as title,
50-
'SQLPage allows you to iterate quickly on your database design without thinking too much about the rest.
51-
You will quickly find which components and layouts look good with your data.
52-
This flexibility helps you avoid costly mistakes: at the beginning of your project, you should be thinking about your data, and not agonize over technical micro-decisions in your frontend.' as description,
64+
SELECT 'Technically, it''s just a good old web server' as title,
65+
'
66+
The principles behind SQLPage are not too far from those that powered the early days of the internet.
67+
Like [PHP](https://en.wikipedia.org/wiki/PHP), SQLPage just receives a request, finds the file to execute, runs it, and returns a response.
68+
69+
SQLPage is a *web server* written in
70+
[rust](https://en.wikipedia.org/wiki/Rust_(programming_language))
71+
and [distributed as a single executable file](https://github.com/lovasoa/SQLpage/releases).
72+
When it receives a request to a URL ending in `.sql`, it finds the corresponding
73+
SQL file, runs it on the database,
74+
passing it information from the web request as SQL statement parameters.
75+
When the database starts returning rows for the query,
76+
SQLPage maps each piece of information in the row to a parameter
77+
in one of its pre-defined components'' templates, and streams the result back
78+
to the user''s browser.
79+
' as description_md,
5380
'flask' as icon,
5481
'purple' as color;
5582
SELECT 'Start Simple, Scale to Advanced' as title,
56-
'SQLPage is a great starting point for building websites, especially if you''re new to coding. As your needs grow,
57-
you can gradually transition to a full-featured programming language while reusing the database structure and queries you wrote in SQLPage.
58-
SQLPage helps you transition smoothly while providing a solid foundation for your website.' as description,
83+
'SQLPage is a great starting point for building websites, especially if you''re new to coding, or want to test out a new idea quickly.
84+
Then if the app becomes important, you can take the same underlying data structure and wrap it in a more established framework with a dedicated front end.
85+
And if it doesn''t, you only spent a few hours on it!
86+
87+
SQLPage doesn''t make any asumption about the structure of your database, so it is easy to transition to and from it without having to change your database schema.
88+
helps you transition smoothly while providing a solid foundation for your website.' as description,
5989
'world-cog' as icon,
6090
'orange' as color;
6191

sqlpage/templates/hero.handlebars

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
{{~/if~}}
99
</div>
1010
{{#if link}}
11-
<a href="{{link}}" class="btn btn-primary mb-3">{{default link_text "Go"}}</a>
11+
<a href="{{link}}" class="btn btn-primary mb-3 mt-2">{{default link_text "Go"}}</a>
1212
{{/if}}
1313
</div>
1414
{{#if image}}

0 commit comments

Comments
 (0)