{"id":22436708,"url":"https://github.com/alanburic/distribunity-api","last_synced_at":"2025-06-15T22:10:20.767Z","repository":{"id":260966601,"uuid":"881931408","full_name":"AlanBuric/distribunity-api","owner":"AlanBuric","description":"Node.js backend server for the Distribunity web application.","archived":false,"fork":false,"pushed_at":"2025-02-26T22:53:40.000Z","size":140,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-26T23:31:48.245Z","etag":null,"topics":["api","inventory","management","software"],"latest_commit_sha":null,"homepage":"https://distribunity.web.app","language":"TypeScript","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/AlanBuric.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-01T14:17:48.000Z","updated_at":"2025-02-26T22:53:44.000Z","dependencies_parsed_at":"2025-02-26T23:40:09.111Z","dependency_job_id":null,"html_url":"https://github.com/AlanBuric/distribunity-api","commit_stats":null,"previous_names":["alanburic/distribunity-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlanBuric%2Fdistribunity-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlanBuric%2Fdistribunity-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlanBuric%2Fdistribunity-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlanBuric%2Fdistribunity-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlanBuric","download_url":"https://codeload.github.com/AlanBuric/distribunity-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245813169,"owners_count":20676763,"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":["api","inventory","management","software"],"created_at":"2024-12-06T00:08:57.622Z","updated_at":"2025-06-15T22:10:20.756Z","avatar_url":"https://github.com/AlanBuric.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# distribunity-api\n\nWeb Applications course backend for \"Distribunity\", an inventory management software built in Express and TypeScript.\n\nIn this web application, registered users can create organizations (a generalization of businesses and companies),\ninvite other users with invitation codes or join other organizations, manage inventories inside their organizations and\nmanage items inside the inventories; organization admins can manage their organizations' members, organizations' roles,\nroles' permissions and the roles assigned to the members.\n\n## Web Applications course\n\n--------------------\n**Kolegij:** [_Web aplikacije_](http://ntankovic.unipu.hr/wa)  \n**Mentor:** _doc. dr. sc. Nikola Tanković_  \n**Student:** _Alan Burić (TFPU)_\n\n--------------------\n\n## Project setup\n\n```\nnpm ci\n```\n\n## Development mode\n\nDevelopment mode means that the backend API server will be run \non your computer, while the Redis and PostgreSQL services \nwill run in Docker.\n\n1. Configure your `.env` file:\n\nThe services will have to be targeted as localhost and by the services' ports, \nsince the backend will see the services as hidden behind a single container \nhost rather than multiple hosts when ran in a container.\n\n- change `REDIS_URL=redis://redis:6379` to `REDIS_URL=redis://localhost:6379`\n- change `PGHOST=database` to `PGHOST=localhost`\n\n2. Start the services in Docker:\n\n```\ndocker compose up database redis -d\n```\n\nThe `-d` flag runs the services in background.\n\n3. Start the server locally:\n\n```\nnpm run dev\n```\n\n## Compilation for production\n\n```\nnpm run build\n```\n\n## Caching levels of database results\n\n1. Express.js response locals level\n2. Shared in-memory server-wide cache","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falanburic%2Fdistribunity-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falanburic%2Fdistribunity-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falanburic%2Fdistribunity-api/lists"}