{"id":23859200,"url":"https://github.com/openconext/openconext-teams-ng","last_synced_at":"2025-02-22T10:53:31.896Z","repository":{"id":18651452,"uuid":"84843119","full_name":"OpenConext/OpenConext-Teams-NG","owner":"OpenConext","description":"OpenConext-Teams-NG","archived":false,"fork":false,"pushed_at":"2024-12-10T19:14:50.000Z","size":5456,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-01-03T03:34:59.306Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenConext.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":"2017-03-13T15:31:27.000Z","updated_at":"2024-12-10T19:14:54.000Z","dependencies_parsed_at":"2024-05-02T02:06:52.474Z","dependency_job_id":"2286174e-e02d-412a-a2f8-3eb9b33296e5","html_url":"https://github.com/OpenConext/OpenConext-Teams-NG","commit_stats":null,"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenConext%2FOpenConext-Teams-NG","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenConext%2FOpenConext-Teams-NG/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenConext%2FOpenConext-Teams-NG/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenConext%2FOpenConext-Teams-NG/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenConext","download_url":"https://codeload.github.com/OpenConext/OpenConext-Teams-NG/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240163548,"owners_count":19758028,"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":[],"created_at":"2025-01-03T03:32:45.363Z","updated_at":"2025-02-22T10:53:31.861Z","avatar_url":"https://github.com/OpenConext.png","language":"Java","readme":"# OpenConext-Teams-NG\n[![Build Status](https://github.com/OpenConext/OpenConext-Teams-NG/actions/workflows/maven.yml/badge.svg)](https://github.com/OpenConext/OpenConext-Teams-NG/actions/workflows/maven.yml/badge.svg)\n[![codecov.io](https://codecov.io/github/OpenConext/OpenConext-Teams-NG/coverage.svg)](https://codecov.io/github/OpenConext/OpenConext-Teams-NG)\n\n## License\n\nSee the LICENSE file\n\n## Disclaimer\n\nSee the NOTICE file\n\n## System Requirements\n\n- Java 21\n- Maven 3\n- MySQL 8\n- node v14.17.3 (use for example `nvm use` to manage it - latest version of node does not work) \n- yarn (note that later versions break the sass compiler)\n\nIf you use nvm ensure you have the correct npm installed locally in that version\n\n```\ncd ~/.nvm/versions/node/v6.2.2/lib/\nnpm install npm@5.2.0\n```\n\nSee https://stackoverflow.com/questions/9755841/how-can-i-change-the-version-of-npm-using-nvm\n\n## Building and running\n\n[Maven 3](http://maven.apache.org) is needed to build and run this project.\n\nTo build, first setup your local db:\n\nConnect to your local mysql database: `mysql -uroot`\n\nExecute the following:\n\n```sql\nDROP DATABASE IF EXISTS teams_ng;\nCREATE DATABASE teams_ng CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;\n```\n\n### The teams-server\n\nTo run locally:\n\n`mvn spring-boot:run -Dspring-boot.run.jvmArguments=\"-Dspring.profiles.active=dev,test\"`\n\nOr run / debug the [TeamsApplication](teams-server/src/main/java/teams/TeamsApplication.java) and don't forget to set \nthe active profile to dev otherwise the application uses the real VOOT client on the test environment.\n\n\n\n### The teams-gui\n\n    cd teams-gui\n\nInitial setup if you do:\n\n    yarn install\n\nAdd new dependencies to `devDependencies`:\n\n    yarn add ${dep} --dev\n\nTo build:\n\n    ./build.sh\n\nTo run locally:\n\n    yarn local\n\nBrowse to the [application homepage](http://localhost:8001/).\n\n## Testing\n\nTo run the tests, just install both server and client:\n\n    mvn clean install\n    \nTo run only the JS tests:\n    \n    cd teams-gui\n    yarn test\n    \n## Miscellaneous\n\nIf you add dependencies to the teams-gui with yarn you can see the impact on the production bundle:\n\n    cd teams-gui\n    rm -fr dist \u0026\u0026 yarn webpack-analyze | sed '1,6d' | sed '$d' | webpack-bundle-size-analyzer\n    \n## API\n    \nThe teams application has three API's:\n    \n1. Internal Teams API on `api/teams` for the teams GUI\n2. VOOT API on `api/voot` for the VOOT server app\n3. LifeCycle user management  \n  \nThe first one is secured with shibboleth and CSRF and the second and third one are secured with basic auth. For an example call:\n  \n    curl  -u voot:secret https://teams.demo.openconext.org/api/voot/user/urn:collab:person:example.com:admin/groups  \n    \n## LifeCycle Deprovisioning\n\nTeams has a LifeCycle API to deprovision users. The preview endpoint:\n```\ncurl -u life:secret http://localhost:8080/deprovision/urn:collab:person:surfnet.nl:jdoe | jq \n```\nAnd the actual `Deprovisioning` of the user:\n```\ncurl -X DELETE -u life:secret http://localhost:8080/deprovision/urn:collab:person:surfnet.nl:jdoe | jq\n```\n## Migration to Invite\n\nTeams GUI has functionality to migrate a team to the invite-database. You need to be super-user for this. There is\nalso an endpoint to migrate teams:\n```\ncurl -u teams:secret -X PUT -H 'Content-Type: application/json' -d '{\"id\":\"35415\"}'  \"http://localhost:8080/api/v1/external/invite-app/migrate\"\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenconext%2Fopenconext-teams-ng","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenconext%2Fopenconext-teams-ng","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenconext%2Fopenconext-teams-ng/lists"}