{"id":20284668,"url":"https://github.com/ovesco/tweb-project-github","last_synced_at":"2025-07-29T03:39:10.607Z","repository":{"id":88703856,"uuid":"152591909","full_name":"ovesco/TWEB-project-github","owner":"ovesco","description":"Projet TWEB sur l'api github","archived":false,"fork":false,"pushed_at":"2018-10-24T13:40:02.000Z","size":1295,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-04T03:43:15.638Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/ovesco.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":"2018-10-11T12:56:17.000Z","updated_at":"2018-10-24T13:40:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"87930283-d02b-4fb7-8058-4750fc234636","html_url":"https://github.com/ovesco/TWEB-project-github","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ovesco/TWEB-project-github","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ovesco%2FTWEB-project-github","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ovesco%2FTWEB-project-github/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ovesco%2FTWEB-project-github/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ovesco%2FTWEB-project-github/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ovesco","download_url":"https://codeload.github.com/ovesco/TWEB-project-github/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ovesco%2FTWEB-project-github/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267624405,"owners_count":24117414,"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","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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-14T14:20:57.404Z","updated_at":"2025-07-29T03:39:10.548Z","avatar_url":"https://github.com/ovesco.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TWEB - github API\nGuillaume Hochet - Loïc Schürch\n\nThis project aims at showing when github users commits their work by displaying\nit in a nicely made webapp.\n\n## Structure\nThis repository contains two projects which are described here.\n\n### Backend\nThe backend part is a nodejs http server app who's role is forwarding\ngithub api request to the webapp. It also holds a cache based on mongodb\nto store requests and checks for their expiration time.\n\n#### Technologies used\n* nodejs, obviously\n* express for the http server\n* mongoose for the mongodb database interaction\n* axios for http requests\n* mocha and chai to make some tests but just for self satisfaction\n\nThe server makes three endpoints available, one to get user information,\none for repositories information and one for commits information. When\na request is made, the server first checks if there's some data stored\nin cache, if yes, it returns it. Otherwise, it makes a github api request,\ncleans it to fit its needs, stores it in cache and finally returns it.\n\n### Frontend\nThe frontend part is a Vue.js web application displaying data received\nby the backend. It also displays some random gifs if you ask for it,\nusing giphy public api.\n\n#### Main technologies used\n* vuejs because it's cool\n* axios again to make http requests\n* bootstrap for base styling, using SCSS preprocessors\n* chart.js for charts\n* vue-router for webapp navigation\n\n## Installing\n1. Clone this repo somewhere on your hard drive\n2. Create a .env file in `/backend` based on .env.dist\n3. Create a env.js file in `/frontend` based on env.js.dist\n4. Run `npm i` in both frontend and backend directories\n5. Run `npm run serve` from `/backend` directory to launch server\n6. Run `npm run dev` from `/frontend` directory to launch web app\n7. Optional, if you want to build web app, run `npm run build` from frontend\ndirectory, this will build it in `/docs` file (used for github pages)\n\n## Check it out\nProject is hosted on heroku and github pages,\n[frontend can be accessed here](https://sysmoh.github.io/TWEB-project-github)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fovesco%2Ftweb-project-github","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fovesco%2Ftweb-project-github","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fovesco%2Ftweb-project-github/lists"}