{"id":21629851,"url":"https://github.com/ugobriasco/gastronomycon-server","last_synced_at":"2026-04-12T17:08:20.578Z","repository":{"id":41825721,"uuid":"76368312","full_name":"ugobriasco/gastronomycon-server","owner":"ugobriasco","description":"🍽️ A NodeJS application for supporting multilingual groceries accessible via REST API.","archived":false,"fork":false,"pushed_at":"2023-03-01T12:12:17.000Z","size":9399,"stargazers_count":2,"open_issues_count":23,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-24T23:27:56.690Z","etag":null,"topics":["foodtech","grocery-products","mongo","multilingual-grocery-lists","nodejs","rest-api"],"latest_commit_sha":null,"homepage":"https://gastronomycon.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ugobriasco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-13T14:53:58.000Z","updated_at":"2022-03-20T16:16:45.000Z","dependencies_parsed_at":"2023-02-17T03:46:01.297Z","dependency_job_id":null,"html_url":"https://github.com/ugobriasco/gastronomycon-server","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ugobriasco%2Fgastronomycon-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ugobriasco%2Fgastronomycon-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ugobriasco%2Fgastronomycon-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ugobriasco%2Fgastronomycon-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ugobriasco","download_url":"https://codeload.github.com/ugobriasco/gastronomycon-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244306893,"owners_count":20431916,"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":["foodtech","grocery-products","mongo","multilingual-grocery-lists","nodejs","rest-api"],"created_at":"2024-11-25T02:08:59.689Z","updated_at":"2026-04-12T17:08:20.519Z","avatar_url":"https://github.com/ugobriasco.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gastronomycon\n\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/9551ffcba0e0422fa1b1a09985ebe09f)](https://www.codacy.com/app/ugobriasco/grocerybot-server?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=ugobriasco/gastronomycon-server\u0026utm_campaign=Badge_Grade)\n[![Build Status](https://travis-ci.org/ugobriasco/gastronomycon-server.svg?branch=master)](https://travis-ci.org/ugobriasco/ggastronomycon-server)\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)\n\n## Intro\n\nThis is the server-side application of Gastronomycon - a microservice for multilingual groceries. It provides and handles groceries, accessable via REST API. The default client application can be found [here](https://github.com/ugobriasco/grocerybot-cli).\n\nVisit the [official page](http://46.101.201.71:3000), collaborate to the project on [GitHub](https://github.com/ugobriasco/gastronomycon-server), or contact the author [Ugo Briasco](http://ugobriasco.me) on [Slack](https://matchyourtie.slack.com/messages/general/whats_new/).\n\n## Framework\n\n- [mongo](https://docs.mongodb.com/getting-started/shell/)\n- [node](https://nodejs.org/en/)\n- [express](http://expressjs.com/)\n\n## Usage\n\nPlease refer to the [API documentation](https://github.com/ugobriasco/gastronomycon-server/wiki/API-v1.0-reference) for released versions, or check [here](https://github.com/ugobriasco/grocerybot-server/blob/master/server/api/v1.0/api-doc.json).\n\n## Development\n\n### Prerequisites\n\n- node 8+\n- npm 6+\n- Nodemon 1.4+\n- mongoDB 4+\n- dependency-cruiser 4+ (for updating dependency graph)\n\n### Setup\n\n- Install dependencies\n\n```bash\ngit clone git@github.com:ugobriasco/gastronomycon-server.git \u0026\u0026 cd gastronomycon-server\nnpm i\ncp ./cfg.js.template ./cfg.js\nmongod\nnpm start\n```\n\n- Create the root user, by sending a `POST` request to `http://localhost:3000/api/v1.0/signup` with the following body:\n  `{\"email\":\"ROOT_EMAIL\",\"passowrd\":\"ROOT_PASSWORD\",\"role\": \"Admin\"}`\n\n- Set `allow_set_role_on_signup: false` in `./cfg.js`. This prevents guest user to sign up as Admin.\n\n- Optional - SignupCode\n  In order to control the signup, it is possible to provide a signup code option, which -if enabled- requires a code during the the registration of a new user. This option can be created by an admin user as following:\n  `POST http://localhost/api/settings`\n  `{\"name\": \"signupCode\", \"value\": \"foo\"}`\n\n### Test\n\nRun `npm test` to execute the unit and integration tests. It requires the following ftramework:\n\n- [Mocha](https://mochajs.org/).\n- [Chai](http://chaijs.com).\n- [Sinon](http://sinonjs.org).\n\nIn order to check the current test coverage, run `npm coverage`, which requires [Istanbul](https://istanbul.js.org/).\n\nBefore running the tests make sure you are serving the app via `npm start`.\n\n### Architecture\n\nDependency graph [here](./dependencygraph.svg). For updating it, run:\n\n```\nsh ./script/plot-dependency-graph.sh\n```\n\n## Contributing\n\nIn lieu of a formal style guide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.\n\n## License\n\n[MIT](https://github.com/ugobriasco/grocerybot-server/blob/master/LICENSE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fugobriasco%2Fgastronomycon-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fugobriasco%2Fgastronomycon-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fugobriasco%2Fgastronomycon-server/lists"}