{"id":13655728,"url":"https://github.com/jasiozet/falco-api-with-tests-template","last_synced_at":"2025-04-23T17:30:37.094Z","repository":{"id":50570137,"uuid":"519476401","full_name":"jasiozet/falco-api-with-tests-template","owner":"jasiozet","description":"Falco API with tests (xUnit, FsUnit) basic template","archived":false,"fork":false,"pushed_at":"2023-02-12T14:07:45.000Z","size":9,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-08-03T04:05:42.195Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"F#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jasiozet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-30T09:42:33.000Z","updated_at":"2024-02-04T07:56:46.000Z","dependencies_parsed_at":"2022-08-29T05:40:39.567Z","dependency_job_id":null,"html_url":"https://github.com/jasiozet/falco-api-with-tests-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasiozet%2Ffalco-api-with-tests-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasiozet%2Ffalco-api-with-tests-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasiozet%2Ffalco-api-with-tests-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jasiozet%2Ffalco-api-with-tests-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jasiozet","download_url":"https://codeload.github.com/jasiozet/falco-api-with-tests-template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223931573,"owners_count":17227256,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T04:00:32.833Z","updated_at":"2024-11-10T08:30:25.399Z","avatar_url":"https://github.com/jasiozet.png","language":"F#","funding_links":[],"categories":["Server Side"],"sub_categories":["Falco"],"readme":"# F# Falco API with tests template\n\n## How to use it\n\nClone the repo!\n\n## Requirements\n\n[dotNET 7](https://dotnet.microsoft.com/en-us/download/dotnet/7.0)\n(you can downgrade dotnet version to 6.0 easily in the fsproj files)\n\nEditor capable of working with F#, I personally recommend:\n* [Visual Studio Code](https://code.visualstudio.com/) and [Ionide plugin](https://ionide.io/)\n\nOther options:\n* [Visual Studio](https://visualstudio.microsoft.com/) or [Visual Studio for Mac](https://visualstudio.microsoft.com/vs/mac/)\n* [Rider](https://www.jetbrains.com/rider/)\n\n## Stuff inside API\n\n* [Falco](https://www.falcoframework.com/)\n* [Feliz.ViewEngine](https://github.com/dbrattli/Feliz.ViewEngine)\n\nThe reason for using Feliz.ViewEngine is that I heavily use it in frontend application and if I were to write SSR I would prefer to use it for consistency. As this is a template I use myself, this is what I wanted here. Feel free to remove it.\nSimilar stuff written in Falco.Markup have looked like this:\n```fsharp\nlet indexView =\n  Elem.html [] [\n    Elem.head [] [ Elem.title [] [ Text.raw \"Falco Sample\" ]]\n    Elem.body [] [\n      Elem.h1 [] [ Text.raw \"I |\u003e F#\" ]\n      Elem.p [Attr.class' \"some-css-class\"; Attr.id \"someId\"] [ Text.raw \"Hello World\"]\n    ]\n  ]\n\nlet defaultPage = Response.ofHtml indexView\n```\n\nTake a look at similar:\n* [Saturn template](https://github.com/jasiozet/saturn-api-with-tests-template)\n* [Giraffe template](https://github.com/jasiozet/giraffe-api-with-tests-template)\n\n## Stuff inside TESTS\n* [xUnit](https://xunit.net/)\n* [FsUnit](https://fsprojects.github.io/FsUnit/)\n\n## How to run:\n* api - ```cd api \u0026\u0026 dotnet run```\n* tests - ```cd tests \u0026\u0026 dotnet test```\n\n## What if I don't want tests?\n\nJust remove the ```tests``` folder!\n\n## Why make this template?\n\nComparison with Saturn \u0026 Giraffe templates I already made\nThis template is meant a nice fresh start, without much complication\n\n## Routes to test:\n* http://localhost:5000/add/2/3 =\u003e 5\n* http://localhost:5000/mul/2/3 =\u003e 6\n* http://localhost:5000/json =\u003e {\"language\":\"F#\",\"message\":\"Hello World\"}\n* http://localhost:5000/anyRoute =\u003e htmled I |\u003e F# Hello World\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasiozet%2Ffalco-api-with-tests-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjasiozet%2Ffalco-api-with-tests-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjasiozet%2Ffalco-api-with-tests-template/lists"}