{"id":46975555,"url":"https://github.com/spoonboy-io/dujour","last_synced_at":"2026-03-11T12:37:55.457Z","repository":{"id":41832469,"uuid":"484462366","full_name":"spoonboy-io/dujour","owner":"spoonboy-io","description":"A JSON/CSV Data Server. Creates a simple REST API for each file","archived":false,"fork":false,"pushed_at":"2023-01-26T10:53:21.000Z","size":64,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-06-21T09:56:15.665Z","etag":null,"topics":["csv","golang","json","morpheus","option-list","server"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spoonboy-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-04-22T14:24:24.000Z","updated_at":"2023-08-28T16:33:38.000Z","dependencies_parsed_at":"2023-02-14T16:31:50.352Z","dependency_job_id":null,"html_url":"https://github.com/spoonboy-io/dujour","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/spoonboy-io/dujour","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spoonboy-io%2Fdujour","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spoonboy-io%2Fdujour/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spoonboy-io%2Fdujour/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spoonboy-io%2Fdujour/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spoonboy-io","download_url":"https://codeload.github.com/spoonboy-io/dujour/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spoonboy-io%2Fdujour/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30381024,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T06:09:32.197Z","status":"ssl_error","status_checked_at":"2026-03-11T06:09:17.086Z","response_time":84,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["csv","golang","json","morpheus","option-list","server"],"created_at":"2026-03-11T12:37:52.811Z","updated_at":"2026-03-11T12:37:55.437Z","avatar_url":"https://github.com/spoonboy-io.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dujour\n\n## A JSON/CSV Data File Server\n\n[![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/spoonboy-io/dujour?style=flat-square)](https://go.dev/)\n[![Go Report Card](https://goreportcard.com/badge/github.com/spoonboy-io/dujour?style=flat-square)](https://goreportcard.com/report/github.com/spoonboy-io/dujour)\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/spoonboy-io/dujour/build.yml?branch=master\u0026style=flat-square)](https://github.com/spoonboy-io/dujour/actions/workflows/build.yml)\n[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/spoonboy-io/dujour/unit_test.yml?branch=master\u0026label=tests\u0026style=flat-square)](https://github.com/spoonboy-io/dujour/actions/workflows/unit_test.yml)\n[![GitHub Release Date](https://img.shields.io/github/release-date/spoonboy-io/dujour?style=flat-square)](https://github.com/spoonboy-io/dujour/releases)\n[![GitHub commits since latest release (by date)](https://img.shields.io/github/commits-since/spoonboy-io/dujour/latest?style=flat-square)](https://github.com/spoonboy-io/dujour/commits)\n[![GitHub](https://img.shields.io/github/license/spoonboy-io/dujour?label=license\u0026style=flat-square)](LICENSE)\n\n## About\n\nDujour is a JSON/CSV data file server. It supports any usecase in which simple transformation of JSON and CSV data to a web \nconsumable JSON REST API is a requirement. Dujour was developed with Morpheus Option Lists in-mind, providing a way to host data for those lists, internally on the private network.\n\n## Releases\n\nYou can find the [latest software here](https://github.com/spoonboy-io/dujour/releases/latest).\n\n### Features\n\n- Automatic self-signed TLS certificate (or use your own)\n- Supports CSV files. Application will parse them to JSON\n- Supports any number of JSON or CSV data files, memory being the only constraint\n- Hot reload. New or edited data can be added with no server restart needed\n- Data is served from memory. Fast\n\n### Usage\nAdd `.json` and `.csv` data files to the `data` directory and Dujour will automatically load, validate and serve each data file at two REST API endpoints in JSON format.\n\nIn each data file, element/row data should contain an `id` key/column which should be unique in the dataset.\n\nData is loaded and served from an in-memory cache. No restart of the server is required when adding new data. Adding a new file of same name will cause the cache to be cleared and the data reloaded.\n\nThe filename of each data file determines the API endpoints which are created. For example, for a file named `users.json` (not case sensitive), Dujour will serve data at two endpoints:-\n\n#### Get all users\nThis endpoint will retrieve all users:\n```\nGET $serverUrl:18651/users\n```\n\n#### Get a specific user\nThis endpoint will retrieve a specific user:\n```\nGET $serverUrl:18651/users/$id\n```\n\n### Installation\nGrab the tar.gz or zip archive for your OS from the [releases page](https://github.com/spoonboy-io/dujour/releases/latest).\n\nUnpack it to the target host, and then start the server.\n\n```\n./dujour\n```\n\nOr with nohup..\n\n```\nnohup ./dujour \u0026\n```\n\nTo update the application server, stop the server, replace the binary, then start the server.\n\n### Limitations\n\n- Dujour does not perform mutations on the data files. Only `GET` operations are supported.\n\n### Development Opportunities\n\n- Support CRUD operations on the data\n- Run the application as a service\n\n### License\nLicensed under [Mozilla Public License 2.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspoonboy-io%2Fdujour","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspoonboy-io%2Fdujour","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspoonboy-io%2Fdujour/lists"}