{"id":20499404,"url":"https://github.com/ts95/imt3851-assignment3","last_synced_at":"2026-02-11T21:04:30.325Z","repository":{"id":68302546,"uuid":"57345353","full_name":"ts95/imt3851-assignment3","owner":"ts95","description":"Assignment 3 in IMT3851 (Web programming II)","archived":false,"fork":false,"pushed_at":"2016-06-03T20:54:50.000Z","size":1339,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-09-09T21:12:42.881Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://giveaway.tonisucic.com","language":"Vue","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/ts95.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-29T01:28:44.000Z","updated_at":"2016-06-07T22:53:56.000Z","dependencies_parsed_at":"2023-03-11T03:24:49.929Z","dependency_job_id":null,"html_url":"https://github.com/ts95/imt3851-assignment3","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ts95/imt3851-assignment3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ts95%2Fimt3851-assignment3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ts95%2Fimt3851-assignment3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ts95%2Fimt3851-assignment3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ts95%2Fimt3851-assignment3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ts95","download_url":"https://codeload.github.com/ts95/imt3851-assignment3/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ts95%2Fimt3851-assignment3/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29345430,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T20:11:40.865Z","status":"ssl_error","status_checked_at":"2026-02-11T20:10:41.637Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":[],"created_at":"2024-11-15T18:17:18.564Z","updated_at":"2026-02-11T21:04:30.312Z","avatar_url":"https://github.com/ts95.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# imt3851-assignment3\nAssignment 3 in IMT3851 (Web programming II)\n\nYou can see a live running instance of this website at [giveaway.tonisucic.com](https://giveaway.tonisucic.com/).\n\n# Architecture\n\n## Server side\nThe server purely acts like an API for the client side and will not do any\nrendering whatsoever (except for rendering the initial HTML that the client\nwill mount).\n\nAll requests are propagated to `index.php`, which contains a router. The router\nwill return an almost empty HTML file for all routes that don't start with /a/.\nThis route will be mounted by the JS on the client side, which will handle all the\nrendering.\n\nAll routes that start with `/a/` will return JSON. These routes will be called\nwith AJAX from the client side to retrieve information from the database and\nso on.\n\n## Client side\n[Vue.js](http://vuejs.org/) (Reactive Components for Modern Web Interfaces) is\nused for all the rendering. Vue.js will communicate with the server via AJAX in\norder to retrieve information from and provide information to the database.\n\n# Setup\nMake sure that you have [composer](https://getcomposer.org/) and\n[npm](https://www.npmjs.com/) installed.\n\n## Install the dependencies\nRun `composer install`.\nRun `npm install`.\n\n## Configuration\nChange the contents of the `database.json` file to match your database. The app\nwill generate a database automatically upon the first request so it's not\nnecessary to do this manually.\n\n## Development\nRun `npm start` to start browsersync and gulp (which will bundle all the ES6 files\nand compile them to ES5).\nThe PHP files have to be served by a webserver. This can be done by using\nsomething like MAMP or simply by running the dev server that comes with\nPHP: `php -S 0.0.0.0:8000`.\n\n## Production\nRun `npm run build` (builds the files without starting browsersync).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fts95%2Fimt3851-assignment3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fts95%2Fimt3851-assignment3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fts95%2Fimt3851-assignment3/lists"}