diff --git a/web/landing/assets/images/icons/api.svg b/web/landing/assets/images/icons/api.svg new file mode 100644 index 000000000..6c5a4f546 --- /dev/null +++ b/web/landing/assets/images/icons/api.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/web/landing/assets/images/icons/chart-bar.svg b/web/landing/assets/images/icons/chart-bar.svg new file mode 100644 index 000000000..220f63283 --- /dev/null +++ b/web/landing/assets/images/icons/chart-bar.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/web/landing/assets/images/icons/data-flow.svg b/web/landing/assets/images/icons/data-flow.svg new file mode 100644 index 000000000..79939d203 --- /dev/null +++ b/web/landing/assets/images/icons/data-flow.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/web/landing/assets/images/icons/date.svg b/web/landing/assets/images/icons/date.svg new file mode 100644 index 000000000..deb376863 --- /dev/null +++ b/web/landing/assets/images/icons/date.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/web/landing/assets/images/icons/users-group.svg b/web/landing/assets/images/icons/users-group.svg new file mode 100644 index 000000000..b1c1fd4a4 --- /dev/null +++ b/web/landing/assets/images/icons/users-group.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/web/landing/src/Flow/Website/Controller/DefaultController.php b/web/landing/src/Flow/Website/Controller/DefaultController.php index 52be75097..c52b70f7a 100644 --- a/web/landing/src/Flow/Website/Controller/DefaultController.php +++ b/web/landing/src/Flow/Website/Controller/DefaultController.php @@ -38,25 +38,9 @@ public function example(string $topic, string $example) : Response #[Route('/', name: 'main')] public function main() : Response { - // TODO: uncomment and remove below code when frontpage features will be available - // return $this->render('main/index.html.twig', [ - // 'contributors' => $this->github->contributors(), - // 'topics' => $this->examples->topics(), - // ]); - - $topics = $this->examples->topics(); - $currentTopic = \current($topics); - - $examples = $this->examples->examples($currentTopic); - $currentExample = \current($examples); - - return $this->render('example/index.html.twig', [ + return $this->render('main/index.html.twig', [ 'contributors' => $this->github->contributors(), - 'topics' => $topics, - 'examples' => $examples, - 'currentTopic' => $currentTopic, - 'currentExample' => $currentExample, - 'code' => $this->examples->code($currentTopic, $currentExample), + 'topics' => $this->examples->topics(), ]); } diff --git a/web/landing/templates/base.html.twig b/web/landing/templates/base.html.twig index fda03e542..85c3a2a9d 100644 --- a/web/landing/templates/base.html.twig +++ b/web/landing/templates/base.html.twig @@ -58,13 +58,13 @@
  • Roadmap - external resource + external resource
  • Discussion - external resource + external resource
  • @@ -101,7 +101,7 @@
    transform

    Transforms

    -

    Shape and optimize for your needs

    +

    Shape and optimize for your needs.

    diff --git a/web/landing/templates/main/index.html.twig b/web/landing/templates/main/index.html.twig index a6b8b9308..4cd4484ab 100644 --- a/web/landing/templates/main/index.html.twig +++ b/web/landing/templates/main/index.html.twig @@ -20,20 +20,101 @@ -
    - {% for i in 1..6 %} -
    - feature -

    Flow PHP Feature #{{ i }}

    -
    - {% if i is odd %} {# TODO: if key feature subtitle is optional #} -

    This feature is awesome

    - {% endif %} -

    - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. - Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. -

    -
    - {% endfor %} +
    +
    +
    +
    + feature +

    Data Processing Made Easy

    +
    +

    + One of the most significant challenges in data processing lies in maintaining consistency, particularly in languages as flexible as PHP. + Instead of creating custom code for each dataset or integration, Flow PHP offers a uniform API for all data sources. +

    +

    + Whether you’re dealing with a CSV file or consuming data from a REST API, Flow ensures consistency by offering a uniform API for all data sources. +

    +

    + It will not only make your codebase more consistent but also ensure that your system processes data in a memory-efficient way out of the box. +

    +
    +
    + +
    + +
    + +
    +
    + feature +

    Unified, Strongly Typed API

    +
    +

    + Flow PHP offers a unified, strongly typed API for all data sources, including: +

    +
      +
    • CSV,
    • +
    • Json,
    • +
    • XML,
    • +
    • Text,
    • +
    • Parquet,
    • +
    • Avro,
    • +
    • Rest API,
    • +
    • RDBMS,
    • +
    • Elasticsearch / Meilisearch
    • +
    +

    + Flow not only enables you to process various data sources consistently, but also strives to accurately + detect data types and cast them to the appropriate PHP types. +

    +

    + Even when reading schemaless formats like CSV, Flow allows you to either predefine the schema + according to which it will cast the data, or it will attempt to infer the schema from the data itself. +

    +
    +
    +
    + +
    +
    +
    + feature +

    Consistent Memory Consumption

    +
    +

    + Processing large datasets is no easy task, especially without dedicated tools. + The most common solution is to read datasets in chunks and process them one by one. +

    +

    + But unfortunatelly it sounds easier than it is. The most common problem is lack of unified + API for all data sources and memory management. Flow PHP solves this problem for you. +

    +

    + But unfortunately, it sounds easier than it actually is. The most common problem lies in the lack of a unified API for all data sources and proper memory management. + Flow PHP addresses this issue for you. +

    +

    + All of this is possible thanks to the Flow PHP architecture based on generators and iterators. + This approach enables you to process large datasets even on small machines. +

    +
    +
    + +
    {% endblock %}