{"id":97079,"name":"Sustainable Software Engineering","description":"A course that covers techniques for measuring and improving environmental, social, and individual sustainability at every stage of the software lifecycle.","url":"https://github.com/luiscruz/course_sustainablese","last_synced_at":"2026-04-07T14:30:41.726Z","repository":{"id":43341308,"uuid":"317849540","full_name":"luiscruz/course_sustainableSE","owner":"luiscruz","description":"Website of the course Sustainable Software Engineering","archived":false,"fork":false,"pushed_at":"2025-05-23T13:26:16.000Z","size":72296,"stargazers_count":18,"open_issues_count":6,"forks_count":90,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-26T03:13:34.440Z","etag":null,"topics":["green-software","sustainable-software"],"latest_commit_sha":null,"homepage":"https://luiscruz.github.io/course_sustainableSE/","language":"HTML","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/luiscruz.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,"zenodo":null}},"created_at":"2020-12-02T12:06:04.000Z","updated_at":"2025-07-18T17:57:27.000Z","dependencies_parsed_at":"2023-02-12T03:00:33.944Z","dependency_job_id":"bedaf22c-56f3-4b55-a9bd-725691bf0da4","html_url":"https://github.com/luiscruz/course_sustainableSE","commit_stats":{"total_commits":195,"total_committers":36,"mean_commits":5.416666666666667,"dds":0.5282051282051282,"last_synced_commit":"44e5dd5ea4ac00924ca84236674940b3fd84c5c5"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/luiscruz/course_sustainableSE","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luiscruz%2Fcourse_sustainableSE","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luiscruz%2Fcourse_sustainableSE/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luiscruz%2Fcourse_sustainableSE/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luiscruz%2Fcourse_sustainableSE/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luiscruz","download_url":"https://codeload.github.com/luiscruz/course_sustainableSE/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luiscruz%2Fcourse_sustainableSE/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281776875,"owners_count":26559853,"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-10-30T02:00:06.501Z","response_time":61,"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"}},"owner":{"login":"luiscruz","name":"Luís Cruz","uuid":"1080714","kind":"user","description":"Assistant Professor. Sustainable Software Engineering; AI Engineering","email":"","website":"https://luiscruz.github.io","location":"Delft, The Netherlands","twitter":"luismcruz","company":"Delft University of Technology","icon_url":"https://avatars.githubusercontent.com/u/1080714?u=e7ac0cd4710bafa5e0a4e6a385076534a3431a08\u0026v=4","repositories_count":56,"last_synced_at":"2024-06-11T15:58:03.061Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/luiscruz","funding_links":[],"total_stars":85,"followers":104,"following":24,"created_at":"2022-11-06T21:46:43.513Z","updated_at":"2024-06-11T15:58:05.358Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luiscruz","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luiscruz/repositories"},"packages":[],"commits":{"id":1390857,"full_name":"luiscruz/course_sustainablese","default_branch":"main","total_commits":428,"total_committers":90,"total_bot_commits":5,"total_bot_committers":1,"mean_commits":4.7555555555555555,"dds":0.6612149532710281,"past_year_total_commits":78,"past_year_total_committers":37,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":2.108108108108108,"past_year_dds":0.8717948717948718,"last_synced_at":"2025-10-23T00:17:34.200Z","last_synced_commit":"7c8e49a743446966f73e4950bbba77e535ecfca7","created_at":"2023-09-28T00:09:27.994Z","updated_at":"2025-10-23T00:08:27.127Z","committers":[{"name":"Luis Cruz","email":"luismirandacruz@gmail.com","login":"luiscruz","count":145},{"name":"Smruti","email":"smruti.k20@gmail.com","login":"smrutik25","count":26},{"name":"Petter Reijalt","email":"63895528+Petter6","login":"Petter6","count":17},{"name":"mitalipatil99","email":"patilmitali99@gmail.com","login":"mitalipatil99","count":15},{"name":"nstruharova","email":"43135956+naty99","login":"naty99","count":11},{"name":"LvKvA","email":"32707558+LvKvA","login":"LvKvA","count":11},{"name":"Dyon","email":"dyonx@hotmail.com","login":"dyonende","count":10},{"name":"Carolin Brandt","email":"laci_noire@live.de","login":"lacinoire","count":10},{"name":"Esha Dutta","email":"eshadutta9499@gmail.com","login":"eshadutta9","count":8},{"name":"khagen","email":"33468547+koenhagen","login":"koenhagen","count":8},{"name":"Criddl","email":"64604952+Criddl","login":"Criddl","count":6},{"name":"HarmenKroon","email":"H.M.Kroon@student.tudelft.nl","login":"HarmenKroon","count":6},{"name":"Lucian Negru","email":"L.Negru@student.tudelft.nl","login":"MissingCurlyBracket","count":6},{"name":"Sára Juhošová","email":"s.juhosova@student.tudelft.nl","login":"sarajuhosova","count":6},{"name":"Rafal Owczarski","email":"R.R.Owczarski@student.tudelft.nl","login":"Rav0702","count":6},{"name":"Ole Peder Brandtzæg","email":"olepbr@gmail.com","login":"olepbr","count":5},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":5},{"name":"Ayushkuruvilla","email":"ayush.kuruvilla@gmail.com","login":"Ayushkuruvilla","count":5},{"name":"Daniel Chou Rainho","email":"83027725+CR-Daniel","login":"CR-Daniel","count":5},{"name":"dvos2","email":"dvos@qblox.com","login":null,"count":5},{"name":"Merlijn Mac Gillavry","email":"M.A.P.MacGillavry@student.tudelft.nl","login":"Merlijnmacgillavry","count":4},{"name":"Adriaan Pardoel","email":"adriaan.pardoel@gmail.com","login":"adriaanpardoel","count":4},{"name":"GasparinoRocha","email":"113630432+GasparinoRocha","login":"GasparinoRocha","count":3},{"name":"Gopal-Raj Panchu","email":"ggspanchu@gmail.com","login":"NovoGSP","count":3},{"name":"Katja Schmahl","email":"katjaschmahl@hotmail.com","login":"KatjaSchmahl","count":3},{"name":"Krzysztof Baran","email":"krysbaran@gmail.com","login":"kbaran1998","count":3},{"name":"Okaaij","email":"33690953+OttoKaaij","login":"OttoKaaij","count":3},{"name":"Rover van der Noort","email":"33723189+rvandernoort","login":"rvandernoort","count":3},{"name":"Cathrine Paulsen","email":"c.r.paulsen@student.tudelft.nl","login":"CathrinePaulsen","count":3},{"name":"Nobert1","email":"43668248+Nobert1","login":"Nobert1","count":2},{"name":"Matthijs Vossen","email":"31799626+Matthijs-Vossen","login":"Matthijs-Vossen","count":2},{"name":"Martijn Frericks","email":"110139832+MartijnFr","login":"MartijnFr","count":2},{"name":"Inaesh Joshi","email":"55448380+ianjoshi","login":"ianjoshi","count":2},{"name":"Huib Sprangers","email":"55276817+HuibSprangers-leiden","login":"HuibSprangers-leiden","count":2},{"name":"Florentin","email":"arsene.florentin.ichb@gmail.com","login":"farsene","count":2},{"name":"EleniPP","email":"eleni1997pp@gmail.com","login":"EleniPP","count":2},{"name":"Delano Flipse","email":"delanoflipse@hotmail.com","login":"delanoflipse","count":2},{"name":"Angelos Mangos","email":"35471908+RubyBit","login":"RubyBit","count":2},{"name":"Andrei Visoiu","email":"visoiuandrei42@yahoo.ro","login":"avisoiu","count":2},{"name":"Abel Van Steenweghen","email":"abel.van.steenweghen@gmail.com","login":"abel-vs","count":2},{"name":"07Liyang","email":"152295290+07Liyang","login":"07Liyang","count":2},{"name":"robertarntzenius","email":"robertarntzenius@github.com","login":null,"count":2},{"name":"Philippe de Bekker","email":"56686692+philippedeb","login":"philippedeb","count":2},{"name":"Raghav Talwar","email":"41549534+raghavtalwar7","login":"raghavtalwar7","count":2},{"name":"Roelof","email":"33722364+RoelofvdG","login":"RoelofvdG","count":2},{"name":"Sloppyan","email":"90444397+Sloppyan","login":"Sloppyan","count":2},{"name":"Sofia Konovalova","email":"sophia.konovalova2@gmail.com","login":"reglayass","count":2},{"name":"Thijs Raymakers","email":"thijs@raymakers.nl","login":"ThijsRay","count":2},{"name":"Vincent van Vliet","email":"76870440+vincentvvliet","login":"vincentvvliet","count":2},{"name":"Weicheng Hu","email":"76918682+Oki3","login":"Oki3","count":2},{"name":"zegermouw","email":"zegermouw@gmail.com","login":"zegermouw","count":2},{"name":"louisegleibbrandt","email":"33691315+louisegleibbrandt","login":"louisegleibbrandt","count":1},{"name":"kahming0","email":"105551377+kahming0","login":"kahming0","count":1},{"name":"idealine2","email":"59178881+idealine2","login":"idealine2","count":1},{"name":"iPersian","email":"artin_sanaye@hotmail.com","login":"iPersian","count":1},{"name":"famulenz-pkrumpl","email":"144379313+famulenz-pkrumpl","login":"famulenz-pkrumpl","count":1},{"name":"emihalache","email":"78901878+emihalache","login":"emihalache","count":1},{"name":"bwmfvanveen-II","email":"100093168+bwmfvanveen-II","login":"bwmfvanveen-II","count":1},{"name":"apostoo","email":"88329279+apostoo","login":"apostoo","count":1},{"name":"ahsmi47","email":"136347852+ahsmi47","login":"ahsmi47","count":1},{"name":"Sejidz","email":"95855843+Sejidz","login":"Sejidz","count":1},{"name":"martijnsmits","email":"martijn.smits@outlook.com","login":"martijnsmits","count":1},{"name":"matteo-fregonara","email":"124520183+matteo-fregonara","login":"matteo-fregonara","count":1},{"name":"unknown","email":"y.li-148@student.tudelft.nl","login":null,"count":1},{"name":"gopal-raj panchu","email":"g.panchu@thec.nl","login":null,"count":1},{"name":"Thijs Nulle","email":"thijsnulle@Thijss-MacBook-Pro.local","login":null,"count":1},{"name":"Thijs Nulle","email":"thijsnulle@Thijss-MBP.home","login":null,"count":1},{"name":"Milan","email":"milandekoning@tudelft.nl","login":null,"count":1},{"name":"Luis Cruz","email":"luiscruz@MacBookPro.home","login":null,"count":1},{"name":"piaasbjornsen","email":"pia.asbjornsen@icloud.com","login":"piaasbjornsen","count":1},{"name":"Ahmed-Driouech","email":"90618897+Ahmed-Driouech","login":"Ahmed-Driouech","count":1},{"name":"Ana Oprea","email":"52170042+anaopr","login":"anaopr","count":1},{"name":"Dajt Mullaj","email":"38816399+dajtmullaj","login":"dajtmullaj","count":1},{"name":"F.M.Gunnarsson","email":"65875462+filipxg","login":"filipxg","count":1},{"name":"Flazed","email":"35650338+flazedd","login":"flazedd","count":1},{"name":"GijsMargadant","email":"86891988+GijsMargadant","login":"GijsMargadant","count":1},{"name":"GustavLeth","email":"66669421+GustavLeth","login":"GustavLeth","count":1},{"name":"Gyum-Portfolio","email":"101854953+Gyum-Portfolio","login":"Gyum-Portfolio","count":1},{"name":"Jeroen Janssen","email":"33690946+Jeroentjuuh","login":"Jeroentjuuh","count":1},{"name":"Jurriaan Buitenweg","email":"jurrbuitenweg@gmail.com","login":"Guthax","count":1},{"name":"Legendary747","email":"96092356+Legendary747","login":"Legendary747","count":1},{"name":"MaoMao","email":"87097423+maotek","login":"maotek","count":1},{"name":"Merel Steenbergen","email":"44727706+merelanne","login":"merelanne","count":1},{"name":"MichaelChan20","email":"J.M.Chan@student.tudelft.nl","login":"MichaelChan20","count":1},{"name":"Milan","email":"77207511+mdek2053","login":"mdek2053","count":1},{"name":"Nils134","email":"61148684+Nils134","login":"Nils134","count":1},{"name":"RDoting","email":"71152474+RDoting","login":"RDoting","count":1},{"name":"Remy Duijsens","email":"68920766+remyd95","login":"remyd95","count":1},{"name":"Sebastien1999","email":"33690896+Sebastien1999","login":"Sebastien1999","count":1},{"name":"thijsnulle","email":"thijsnulle@gmail.com","login":"thijsnulle","count":1}],"past_year_committers":[{"name":"Luis Cruz","email":"luismirandacruz@gmail.com","login":"luiscruz","count":10},{"name":"Carolin Brandt","email":"laci_noire@live.de","login":"lacinoire","count":10},{"name":"Rafal Owczarski","email":"R.R.Owczarski@student.tudelft.nl","login":"Rav0702","count":6},{"name":"Ayushkuruvilla","email":"ayush.kuruvilla@gmail.com","login":"Ayushkuruvilla","count":5},{"name":"Gopal-Raj Panchu","email":"ggspanchu@gmail.com","login":"NovoGSP","count":3},{"name":"Weicheng Hu","email":"76918682+Oki3","login":"Oki3","count":2},{"name":"Vincent van Vliet","email":"76870440+vincentvvliet","login":"vincentvvliet","count":2},{"name":"Sofia Konovalova","email":"sophia.konovalova2@gmail.com","login":"reglayass","count":2},{"name":"Sloppyan","email":"90444397+Sloppyan","login":"Sloppyan","count":2},{"name":"Roelof","email":"33722364+RoelofvdG","login":"RoelofvdG","count":2},{"name":"Raghav Talwar","email":"41549534+raghavtalwar7","login":"raghavtalwar7","count":2},{"name":"Matthijs Vossen","email":"31799626+Matthijs-Vossen","login":"Matthijs-Vossen","count":2},{"name":"Martijn Frericks","email":"110139832+MartijnFr","login":"MartijnFr","count":2},{"name":"Inaesh Joshi","email":"55448380+ianjoshi","login":"ianjoshi","count":2},{"name":"Huib Sprangers","email":"55276817+HuibSprangers-leiden","login":"HuibSprangers-leiden","count":2},{"name":"Angelos Mangos","email":"35471908+RubyBit","login":"RubyBit","count":2},{"name":"Andrei Visoiu","email":"visoiuandrei42@yahoo.ro","login":"avisoiu","count":2},{"name":"gopal-raj panchu","email":"g.panchu@thec.nl","login":null,"count":1},{"name":"Luis Cruz","email":"luiscruz@MacBookPro.home","login":null,"count":1},{"name":"matteo-fregonara","email":"124520183+matteo-fregonara","login":"matteo-fregonara","count":1},{"name":"kahming0","email":"105551377+kahming0","login":"kahming0","count":1},{"name":"idealine2","email":"59178881+idealine2","login":"idealine2","count":1},{"name":"iPersian","email":"artin_sanaye@hotmail.com","login":"iPersian","count":1},{"name":"famulenz-pkrumpl","email":"144379313+famulenz-pkrumpl","login":"famulenz-pkrumpl","count":1},{"name":"emihalache","email":"78901878+emihalache","login":"emihalache","count":1},{"name":"bwmfvanveen-II","email":"100093168+bwmfvanveen-II","login":"bwmfvanveen-II","count":1},{"name":"apostoo","email":"88329279+apostoo","login":"apostoo","count":1},{"name":"ahsmi47","email":"136347852+ahsmi47","login":"ahsmi47","count":1},{"name":"Sejidz","email":"95855843+Sejidz","login":"Sejidz","count":1},{"name":"MichaelChan20","email":"J.M.Chan@student.tudelft.nl","login":"MichaelChan20","count":1},{"name":"MaoMao","email":"87097423+maotek","login":"maotek","count":1},{"name":"Legendary747","email":"96092356+Legendary747","login":"Legendary747","count":1},{"name":"Jeroen Janssen","email":"33690946+Jeroentjuuh","login":"Jeroentjuuh","count":1},{"name":"Gyum-Portfolio","email":"101854953+Gyum-Portfolio","login":"Gyum-Portfolio","count":1},{"name":"GijsMargadant","email":"86891988+GijsMargadant","login":"GijsMargadant","count":1},{"name":"Flazed","email":"35650338+flazedd","login":"flazedd","count":1},{"name":"Ahmed-Driouech","email":"90618897+Ahmed-Driouech","login":"Ahmed-Driouech","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/luiscruz%2Fcourse_sustainablese/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-10-26T00:00:38.633Z","repositories_count":6088159,"commits_count":922388725,"contributors_count":35990287,"owners_count":1109198,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"luiscruz/course_sustainablese","html_url":"https://github.com/luiscruz/course_sustainablese","last_synced_at":"2025-08-31T16:59:26.715Z","status":null,"issues_count":3,"pull_requests_count":197,"avg_time_to_close_issue":2471178.5,"avg_time_to_close_pull_request":486472.3962264151,"issues_closed_count":2,"pull_requests_closed_count":159,"pull_request_authors_count":83,"issue_authors_count":3,"avg_comments_per_issue":1.0,"avg_comments_per_pull_request":0.25888324873096447,"merged_pull_requests_count":145,"bot_issues_count":0,"bot_pull_requests_count":5,"past_year_issues_count":1,"past_year_pull_requests_count":116,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":399707.625,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":80,"past_year_pull_request_authors_count":39,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":0.0,"past_year_avg_comments_per_pull_request":0.15517241379310345,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":70,"created_at":"2023-09-28T00:09:33.492Z","updated_at":"2025-09-01T13:40:47.958Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/luiscruz%2Fcourse_sustainablese","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/luiscruz%2Fcourse_sustainablese/issues","issue_labels_count":{},"pull_request_labels_count":{"dependencies":5},"issue_author_associations_count":{"NONE":2,"OWNER":1},"pull_request_author_associations_count":{"CONTRIBUTOR":150,"NONE":53},"issue_authors":{"GijsMargadant":1,"gftea":1,"luiscruz":1},"pull_request_authors":{"Sloppyan":6,"raghavtalwar7":6,"smrutik25":6,"olepbr":5,"rvandernoort":5,"mdek2053":5,"dependabot[bot]":5,"Matthijs-Vossen":4,"NovoGSP":4,"RubyBit":4,"ianjoshi":4,"avisoiu":4,"GijsMargadant":4,"mitalipatil99":4,"Oki3":4,"MartijnFr":4,"reglayass":4,"Merlijnmacgillavry":4,"MichaelChan20":4,"Rav0702":4,"dyonende":4,"idealine2":4,"LvKvA":4,"RoelofvdG":4,"vincentvvliet":4,"delanoflipse":4,"GasparinoRocha":3,"Ayushkuruvilla":3,"CathrinePaulsen":3,"flazedd":2,"sarajuhosova":2,"07Liyang":2,"bwmfvanveen-II":2,"lacinoire":2,"RobertoN0":2,"Sejidz":2,"maotek":2,"thijsnulle":2,"julian-hirschler":2,"iPersian":2,"JamilaSeyidova":2,"OttoKaaij":2,"HuibSprangers-leiden":2,"Jeroentjuuh":2,"matteo-fregonara":2,"emihalache":2,"Criddl":2,"ahsmi47":2,"HarmenKroon":2,"zegermouw":2,"Ahmed-Driouech":2,"Legendary747":2,"Guthax":2,"MissingCurlyBracket":2,"Gyum-Portfolio":2,"Nobert1":2,"KatjaSchmahl":1,"farsene":1,"filipxg":1,"abel-vs":1,"merelanne":1,"RDoting":1,"philippedeb":1,"kbaran1998":1,"simonbiennier":1,"kahming0":1,"fimgu":1,"firstthomas":1,"koenhagen":1,"remyd95":1,"nstruharova":1,"anaopr":1,"ThijsRay":1,"martijnsmits":1,"CR-Daniel":1,"adriaanpardoel":1,"louisegleibbrandt":1,"Nils134":1,"Sebastien1999":1,"robertarntzenius":1,"dajtmullaj":1,"GustavLeth":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-10-31T00:00:39.152Z","repositories_count":11271256,"issues_count":34992450,"pull_requests_count":113575583,"authors_count":11042253,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":1},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":69,"NONE":39},"past_year_issue_authors":{"GijsMargadant":1},"past_year_pull_request_authors":{"raghavtalwar7":6,"Sloppyan":6,"ianjoshi":4,"Oki3":4,"MartijnFr":4,"Rav0702":4,"reglayass":4,"RoelofvdG":4,"RubyBit":4,"MichaelChan20":4,"NovoGSP":4,"Matthijs-Vossen":4,"vincentvvliet":4,"avisoiu":4,"idealine2":4,"GijsMargadant":4,"Ayushkuruvilla":3,"ahsmi47":2,"Gyum-Portfolio":2,"Ahmed-Driouech":2,"matteo-fregonara":2,"flazedd":2,"JamilaSeyidova":2,"maotek":2,"Sejidz":2,"RobertoN0":2,"julian-hirschler":2,"Jeroentjuuh":2,"bwmfvanveen-II":2,"lacinoire":2,"iPersian":2,"Legendary747":2,"emihalache":2,"HuibSprangers-leiden":2,"firstthomas":1,"kahming0":1,"simonbiennier":1},"maintainers":[{"login":"luiscruz","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/luiscruz"}],"active_maintainers":[]},"events":{"total":{"IssuesEvent":2,"WatchEvent":6,"IssueCommentEvent":11,"MemberEvent":1,"PushEvent":54,"PullRequestReviewEvent":1,"PullRequestEvent":100,"ForkEvent":44},"last_year":{"IssuesEvent":2,"WatchEvent":6,"IssueCommentEvent":11,"MemberEvent":1,"PushEvent":54,"PullRequestReviewEvent":1,"PullRequestEvent":100,"ForkEvent":44}},"keywords":["green-software","sustainable-software"],"dependencies":[{"ecosystem":"rubygems","filepath":"Gemfile","sha":null,"kind":"manifest","created_at":"2022-08-12T10:40:36.930Z","updated_at":"2022-08-12T10:40:36.930Z","repository_link":"https://github.com/luiscruz/course_sustainableSE/blob/main/Gemfile","dependencies":[{"id":1315919101,"package_name":"github-pages","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false},{"id":1315919164,"package_name":"jekyll-redirect-from","ecosystem":"rubygems","requirements":"\u003e= 0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"rubygems","filepath":"Gemfile.lock","sha":null,"kind":"lockfile","created_at":"2022-08-12T10:40:36.946Z","updated_at":"2022-08-12T10:40:36.946Z","repository_link":"https://github.com/luiscruz/course_sustainableSE/blob/main/Gemfile.lock","dependencies":[{"id":1315921081,"package_name":"activesupport","ecosystem":"rubygems","requirements":"6.0.4.1","direct":false,"kind":"runtime","optional":false},{"id":1315921082,"package_name":"addressable","ecosystem":"rubygems","requirements":"2.8.0","direct":false,"kind":"runtime","optional":false},{"id":1315921083,"package_name":"coffee-script","ecosystem":"rubygems","requirements":"2.4.1","direct":false,"kind":"runtime","optional":false},{"id":1315921084,"package_name":"coffee-script-source","ecosystem":"rubygems","requirements":"1.11.1","direct":false,"kind":"runtime","optional":false},{"id":1315921085,"package_name":"colorator","ecosystem":"rubygems","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":1315921086,"package_name":"commonmarker","ecosystem":"rubygems","requirements":"0.17.13","direct":false,"kind":"runtime","optional":false},{"id":1315921087,"package_name":"concurrent-ruby","ecosystem":"rubygems","requirements":"1.1.9","direct":false,"kind":"runtime","optional":false},{"id":1315921088,"package_name":"dnsruby","ecosystem":"rubygems","requirements":"1.61.7","direct":false,"kind":"runtime","optional":false},{"id":1315921089,"package_name":"em-websocket","ecosystem":"rubygems","requirements":"0.5.2","direct":false,"kind":"runtime","optional":false},{"id":1315921090,"package_name":"ethon","ecosystem":"rubygems","requirements":"0.14.0","direct":false,"kind":"runtime","optional":false},{"id":1315921091,"package_name":"eventmachine","ecosystem":"rubygems","requirements":"1.2.7","direct":false,"kind":"runtime","optional":false},{"id":1315921092,"package_name":"execjs","ecosystem":"rubygems","requirements":"2.8.1","direct":false,"kind":"runtime","optional":false},{"id":1315921093,"package_name":"faraday","ecosystem":"rubygems","requirements":"1.8.0","direct":false,"kind":"runtime","optional":false},{"id":1315921094,"package_name":"faraday-em_http","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":1315921095,"package_name":"faraday-em_synchrony","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":1315921096,"package_name":"faraday-excon","ecosystem":"rubygems","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":1315921097,"package_name":"faraday-httpclient","ecosystem":"rubygems","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":1315921098,"package_name":"faraday-net_http","ecosystem":"rubygems","requirements":"1.0.1","direct":false,"kind":"runtime","optional":false},{"id":1315921099,"package_name":"faraday-net_http_persistent","ecosystem":"rubygems","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":1315921100,"package_name":"faraday-patron","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":1315921101,"package_name":"faraday-rack","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":1315921102,"package_name":"ffi","ecosystem":"rubygems","requirements":"1.15.4","direct":false,"kind":"runtime","optional":false},{"id":1315921103,"package_name":"forwardable-extended","ecosystem":"rubygems","requirements":"2.6.0","direct":false,"kind":"runtime","optional":false},{"id":1315921104,"package_name":"gemoji","ecosystem":"rubygems","requirements":"3.0.1","direct":false,"kind":"runtime","optional":false},{"id":1315921105,"package_name":"github-pages","ecosystem":"rubygems","requirements":"220","direct":false,"kind":"runtime","optional":false},{"id":1315921106,"package_name":"github-pages-health-check","ecosystem":"rubygems","requirements":"1.17.9","direct":false,"kind":"runtime","optional":false},{"id":1315921107,"package_name":"html-pipeline","ecosystem":"rubygems","requirements":"2.14.0","direct":false,"kind":"runtime","optional":false},{"id":1315921108,"package_name":"http_parser.rb","ecosystem":"rubygems","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":1315921109,"package_name":"i18n","ecosystem":"rubygems","requirements":"0.9.5","direct":false,"kind":"runtime","optional":false},{"id":1315921110,"package_name":"jekyll","ecosystem":"rubygems","requirements":"3.9.0","direct":false,"kind":"runtime","optional":false},{"id":1315921111,"package_name":"jekyll-avatar","ecosystem":"rubygems","requirements":"0.7.0","direct":false,"kind":"runtime","optional":false},{"id":1315921112,"package_name":"jekyll-coffeescript","ecosystem":"rubygems","requirements":"1.1.1","direct":false,"kind":"runtime","optional":false},{"id":1315921113,"package_name":"jekyll-commonmark","ecosystem":"rubygems","requirements":"1.3.1","direct":false,"kind":"runtime","optional":false},{"id":1315921114,"package_name":"jekyll-commonmark-ghpages","ecosystem":"rubygems","requirements":"0.1.6","direct":false,"kind":"runtime","optional":false},{"id":1315921115,"package_name":"jekyll-default-layout","ecosystem":"rubygems","requirements":"0.1.4","direct":false,"kind":"runtime","optional":false},{"id":1315921116,"package_name":"jekyll-feed","ecosystem":"rubygems","requirements":"0.15.1","direct":false,"kind":"runtime","optional":false},{"id":1315921117,"package_name":"jekyll-gist","ecosystem":"rubygems","requirements":"1.5.0","direct":false,"kind":"runtime","optional":false},{"id":1315921118,"package_name":"jekyll-github-metadata","ecosystem":"rubygems","requirements":"2.13.0","direct":false,"kind":"runtime","optional":false},{"id":1315921119,"package_name":"jekyll-mentions","ecosystem":"rubygems","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":1315921120,"package_name":"jekyll-optional-front-matter","ecosystem":"rubygems","requirements":"0.3.2","direct":false,"kind":"runtime","optional":false},{"id":1315921121,"package_name":"jekyll-paginate","ecosystem":"rubygems","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":1315921122,"package_name":"jekyll-readme-index","ecosystem":"rubygems","requirements":"0.3.0","direct":false,"kind":"runtime","optional":false},{"id":1315921123,"package_name":"jekyll-redirect-from","ecosystem":"rubygems","requirements":"0.16.0","direct":false,"kind":"runtime","optional":false},{"id":1315921124,"package_name":"jekyll-relative-links","ecosystem":"rubygems","requirements":"0.6.1","direct":false,"kind":"runtime","optional":false},{"id":1315921125,"package_name":"jekyll-remote-theme","ecosystem":"rubygems","requirements":"0.4.3","direct":false,"kind":"runtime","optional":false},{"id":1315921126,"package_name":"jekyll-sass-converter","ecosystem":"rubygems","requirements":"1.5.2","direct":false,"kind":"runtime","optional":false},{"id":1315921127,"package_name":"jekyll-seo-tag","ecosystem":"rubygems","requirements":"2.7.1","direct":false,"kind":"runtime","optional":false},{"id":1315921128,"package_name":"jekyll-sitemap","ecosystem":"rubygems","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":1315921129,"package_name":"jekyll-swiss","ecosystem":"rubygems","requirements":"1.0.0","direct":false,"kind":"runtime","optional":false},{"id":1315921130,"package_name":"jekyll-theme-architect","ecosystem":"rubygems","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":1315921131,"package_name":"jekyll-theme-cayman","ecosystem":"rubygems","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":1315921132,"package_name":"jekyll-theme-dinky","ecosystem":"rubygems","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":1315921133,"package_name":"jekyll-theme-hacker","ecosystem":"rubygems","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":1315921134,"package_name":"jekyll-theme-leap-day","ecosystem":"rubygems","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":1315921135,"package_name":"jekyll-theme-merlot","ecosystem":"rubygems","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":1315921136,"package_name":"jekyll-theme-midnight","ecosystem":"rubygems","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":1315921137,"package_name":"jekyll-theme-minimal","ecosystem":"rubygems","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":1315921138,"package_name":"jekyll-theme-modernist","ecosystem":"rubygems","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":1315921139,"package_name":"jekyll-theme-primer","ecosystem":"rubygems","requirements":"0.6.0","direct":false,"kind":"runtime","optional":false},{"id":1315921140,"package_name":"jekyll-theme-slate","ecosystem":"rubygems","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":1315921141,"package_name":"jekyll-theme-tactile","ecosystem":"rubygems","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":1315921142,"package_name":"jekyll-theme-time-machine","ecosystem":"rubygems","requirements":"0.2.0","direct":false,"kind":"runtime","optional":false},{"id":1315921143,"package_name":"jekyll-titles-from-headings","ecosystem":"rubygems","requirements":"0.5.3","direct":false,"kind":"runtime","optional":false},{"id":1315921144,"package_name":"jekyll-watch","ecosystem":"rubygems","requirements":"2.2.1","direct":false,"kind":"runtime","optional":false},{"id":1315921145,"package_name":"jemoji","ecosystem":"rubygems","requirements":"0.12.0","direct":false,"kind":"runtime","optional":false},{"id":1315921146,"package_name":"kramdown","ecosystem":"rubygems","requirements":"2.3.1","direct":false,"kind":"runtime","optional":false},{"id":1315921147,"package_name":"kramdown-parser-gfm","ecosystem":"rubygems","requirements":"1.1.0","direct":false,"kind":"runtime","optional":false},{"id":1315921148,"package_name":"liquid","ecosystem":"rubygems","requirements":"4.0.3","direct":false,"kind":"runtime","optional":false},{"id":1315921149,"package_name":"listen","ecosystem":"rubygems","requirements":"3.7.0","direct":false,"kind":"runtime","optional":false},{"id":1315921150,"package_name":"mercenary","ecosystem":"rubygems","requirements":"0.3.6","direct":false,"kind":"runtime","optional":false},{"id":1315921151,"package_name":"mini_portile2","ecosystem":"rubygems","requirements":"2.8.0","direct":false,"kind":"runtime","optional":false},{"id":1315921152,"package_name":"minima","ecosystem":"rubygems","requirements":"2.5.1","direct":false,"kind":"runtime","optional":false},{"id":1315921153,"package_name":"minitest","ecosystem":"rubygems","requirements":"5.14.4","direct":false,"kind":"runtime","optional":false},{"id":1315921154,"package_name":"multipart-post","ecosystem":"rubygems","requirements":"2.1.1","direct":false,"kind":"runtime","optional":false},{"id":1315921155,"package_name":"nokogiri","ecosystem":"rubygems","requirements":"1.13.3","direct":false,"kind":"runtime","optional":false},{"id":1315921156,"package_name":"octokit","ecosystem":"rubygems","requirements":"4.21.0","direct":false,"kind":"runtime","optional":false},{"id":1315921157,"package_name":"pathutil","ecosystem":"rubygems","requirements":"0.16.2","direct":false,"kind":"runtime","optional":false},{"id":1315921158,"package_name":"public_suffix","ecosystem":"rubygems","requirements":"4.0.6","direct":false,"kind":"runtime","optional":false},{"id":1315921159,"package_name":"racc","ecosystem":"rubygems","requirements":"1.6.0","direct":false,"kind":"runtime","optional":false},{"id":1315921160,"package_name":"rb-fsevent","ecosystem":"rubygems","requirements":"0.11.0","direct":false,"kind":"runtime","optional":false},{"id":1315921161,"package_name":"rb-inotify","ecosystem":"rubygems","requirements":"0.10.1","direct":false,"kind":"runtime","optional":false},{"id":1315921162,"package_name":"rexml","ecosystem":"rubygems","requirements":"3.2.5","direct":false,"kind":"runtime","optional":false},{"id":1315921163,"package_name":"rouge","ecosystem":"rubygems","requirements":"3.26.0","direct":false,"kind":"runtime","optional":false},{"id":1315921164,"package_name":"ruby-enum","ecosystem":"rubygems","requirements":"0.9.0","direct":false,"kind":"runtime","optional":false},{"id":1315921165,"package_name":"ruby2_keywords","ecosystem":"rubygems","requirements":"0.0.5","direct":false,"kind":"runtime","optional":false},{"id":1315921166,"package_name":"rubyzip","ecosystem":"rubygems","requirements":"2.3.2","direct":false,"kind":"runtime","optional":false},{"id":1315921167,"package_name":"safe_yaml","ecosystem":"rubygems","requirements":"1.0.5","direct":false,"kind":"runtime","optional":false},{"id":1315921168,"package_name":"sass","ecosystem":"rubygems","requirements":"3.7.4","direct":false,"kind":"runtime","optional":false},{"id":1315921169,"package_name":"sass-listen","ecosystem":"rubygems","requirements":"4.0.0","direct":false,"kind":"runtime","optional":false},{"id":1315921170,"package_name":"sawyer","ecosystem":"rubygems","requirements":"0.8.2","direct":false,"kind":"runtime","optional":false},{"id":1315921171,"package_name":"simpleidn","ecosystem":"rubygems","requirements":"0.2.1","direct":false,"kind":"runtime","optional":false},{"id":1315921172,"package_name":"terminal-table","ecosystem":"rubygems","requirements":"1.8.0","direct":false,"kind":"runtime","optional":false},{"id":1315921173,"package_name":"thread_safe","ecosystem":"rubygems","requirements":"0.3.6","direct":false,"kind":"runtime","optional":false},{"id":1315921174,"package_name":"typhoeus","ecosystem":"rubygems","requirements":"1.4.0","direct":false,"kind":"runtime","optional":false},{"id":1315921175,"package_name":"tzinfo","ecosystem":"rubygems","requirements":"1.2.9","direct":false,"kind":"runtime","optional":false},{"id":1315921176,"package_name":"unf","ecosystem":"rubygems","requirements":"0.1.4","direct":false,"kind":"runtime","optional":false},{"id":1315921177,"package_name":"unf_ext","ecosystem":"rubygems","requirements":"0.0.8","direct":false,"kind":"runtime","optional":false},{"id":1315921178,"package_name":"unicode-display_width","ecosystem":"rubygems","requirements":"1.8.0","direct":false,"kind":"runtime","optional":false},{"id":1315921179,"package_name":"zeitwerk","ecosystem":"rubygems","requirements":"2.4.2","direct":false,"kind":"runtime","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-02-12T03:00:33.669Z","updated_at":"2023-02-12T03:00:33.669Z","repository_link":"https://github.com/luiscruz/course_sustainableSE/blob/main/Dockerfile","dependencies":[{"id":7567394796,"package_name":"ruby","ecosystem":"docker","requirements":"2.7.5","direct":true,"kind":"build","optional":false}]}],"score":7.67786350067821,"created_at":"2023-09-28T00:06:22.802Z","updated_at":"2026-04-07T14:30:41.730Z","avatar_url":"https://github.com/luiscruz.png","language":"HTML","category":"Sustainable Development","sub_category":"Education","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# course_sustainableSE\nWebsite of the course Sustainable Software Engineering (CS4415) at TU Delft.\n\n## Build \u0026 Run\n\nThe easiest way to get the website running locally is by building and running\nthe [Docker](https://docs.docker.com/get-started/) container specified in the\nDockerfile. In order to do so, you must have Docker installed on your\nsystem. Official instructions can be found\n[here](https://docs.docker.com/get-docker/), although most Linux distributions\nprovide a Docker package of some kind; for Arch-based distros, `pacman -S\ndocker docker-buildx` should do the trick.\n\nOnce you have Docker installed, run the following from the project folder:\n\n```\ndocker build . -t sse-site\ndocker run -p 4000:4000 -v $(pwd):/myapp -it sse-site\n```\n\nThe website should then be available at \u003chttp://localhost:4000/course_sustainableSE/2025/\u003e.\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["sustainability","energy-consumption","energy-efficiency"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/97079","html_url":"https://ost.ecosyste.ms/projects/97079"}