{"id":23257025,"url":"https://github.com/solvro/mobile-topwr","last_synced_at":"2025-08-20T14:33:22.162Z","repository":{"id":240988188,"uuid":"725641638","full_name":"Solvro/mobile-topwr","owner":"Solvro","description":"ToPWR Application","archived":false,"fork":false,"pushed_at":"2024-05-22T20:13:27.000Z","size":3594,"stargazers_count":8,"open_issues_count":12,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-05-22T20:30:46.708Z","etag":null,"topics":["flutter","mobile-app","pwr","students","wust"],"latest_commit_sha":null,"homepage":"https://solvro.pwr.edu.pl/portfolio/to-pwr","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Solvro.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":"2023-11-30T15:13:56.000Z","updated_at":"2024-05-28T01:04:02.981Z","dependencies_parsed_at":"2024-05-28T01:14:02.811Z","dependency_job_id":null,"html_url":"https://github.com/Solvro/mobile-topwr","commit_stats":null,"previous_names":["solvro/mobile-topwr"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Solvro%2Fmobile-topwr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Solvro%2Fmobile-topwr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Solvro%2Fmobile-topwr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Solvro%2Fmobile-topwr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Solvro","download_url":"https://codeload.github.com/Solvro/mobile-topwr/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230432951,"owners_count":18224998,"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":["flutter","mobile-app","pwr","students","wust"],"created_at":"2024-12-19T12:26:40.851Z","updated_at":"2025-08-20T14:33:22.156Z","avatar_url":"https://github.com/Solvro.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ToPWR\n\n![ToPWR file cover](/assets/png/topwr_header.png)\n\n## 🇵🇱\n\nToPWR to aplikacja mobilna stworzona przez studentów, dla studentów Politechniki Wrocławskiej. Licznik dni do sesji, mapka kampusu, informacje o dziekanatach, kołach naukowych i licznik wolnych miejsc parkingowych na żywo – wszystko, co trzeba, w jednym miejscu. Life made easy. 🚀\n\nToPWR to efekt naszych doświadczeń i pomysłów, którymi chcielibyśmy się podzielić z innymi studentami. Bo przecież każdy z nas zaczynał od zera, więc dlaczego nie stworzyć czegoś, co ułatwiłoby życie na uczelni? Zależało nam, aby każdy student miał w kieszeni takiego kumpla, który go wspiera i pomaga ogarnąć to wszystko. Bo studia to nie tylko nauka, to także odkrywanie, poznawanie, czasem trochę gubienie się – i to jest w porządku.\n\n## 🇬🇧\n\nToPWR is a mobile application created by the students, for the students of Wrocław University of Science and Technology. A countdown to exams, a campus map, information about dean's offices, student science clubs, and a live counter for available parking spots – everything you need in one place. Life made easy. 🚀\n\nToPWR is the result of our experiences and ideas, which we want to share with other students. After all, each of us started from scratch, so why not create something that makes university life easier? We wanted every student to have a companion in their pocket, supporting and helping them manage everything. Because uni life is not just about studying; it's also about discovering, meeting new people, sometimes getting a little lost, and that's okay.\n\n## Project history\n\nThe app was initially created by KN Solvro members using native mobile technologies (Android \u0026 iOS) and a Strapi backend in 2022 (v0.5.1 was released on October 3, 2022).\n\nNow, we're redesigning and remaking it with exciting new features using Flutter and Directus CMS, and we’re after our first release (26/09/2024)! 🚀. \n\n## Current team\n\n- [@AleksaZakrzewska](https://github.com/AleksaZakrzewska) - Project Manager\n- [@simon-the-shark](https://github.com/simon-the-shark) - Flutter Techlead\n- [@mikolaj-jalocha](https://github.com/mikolaj-jalocha) - Flutter Developer\n- [@gry-mar](https://github.com/gry-mar) - Flutter Developer, UI/UX Designer\n- [@kamilfedio](https://github.com/kamilfedio) - Flutter Developer\n- [@tomasz-trela](https://github.com/tomasz-trela) - Flutter Developer\n- [@wkrzos](https://github.com/wkrzos) - Junior Project Manager\n\nWe're using many UI/UX designs and graphic assets created by [@domkakromka](https://github.com/domkakromka), [@AniaM727](https://github.com/AniaM727)\n\nRead more at: https://solvro.pwr.edu.pl/portfolio/to-pwr/.\n\n## Technologies used\n\n- Flutter\n- Riverpod\n- Freezed\n- graphql_codegen\n- Dio\n- fl_chart\n- wiredash\n- lottie\n- Drift (sqlite)\n- umami\n- bugsink\n\n## Links\n\n[![docs.solvro.pl](https://i.imgur.com/fuV0gra.png)](https://docs.solvro.pl/guides/flutter-mobile)\n\n- https://www.figma.com/file/33ofdGYbBzWvDi2MabxIc1/ToPWR-(imported)?type=design\u0026node-id=2%3A2091\u0026mode=design\u0026t=qILflhzpbN8xW8F6-1\n- https://solvro.pwr.edu.pl/blog/fix-flutter-android-back-btn\n\n## Repobeats\n![Repobeats charts stats](https://repobeats.axiom.co/api/embed/4638a3f84487a49678958c6589e5877e10baf744.svg \"Repobeats analytics image\")\n  \n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=Solvro/mobile-topwr\u0026type=Date)](https://star-history.com/#Solvro/mobile-topwr\u0026Date)\n\n\n# Development\n\nRecommended flutter version: `Channel stable, 3.29.0`\n\n### For secrets storing, we're using [git-crypt](https://github.com/AGWA/git-crypt). You need to:\n1. pull the repo\n2. Install git-crypt: https://github.com/AGWA/git-crypt/blob/master/INSTALL.md\n3. get our cryptographic key\n4. run `git-crypt unlock \u003c\u003cname-of-the-key\u003e\u003e`\n\n  ### Code generation\n  Some of app's dependecies utilize code generation feature and generated files **are not currently included** to control version and this github repository, so before building, running or developing application, it's crucial to run code generation (to generate all needed files) in terminal with:\n\n- For one-time generation:\n\n```zsh\ndart run build_runner build\n```\n\n**OR**\n\n- For watch mode and continous necessary rebuilds after every change to connected files (usufull for development):\n\n```zsh\ndart run build_runner watch\n```\n\n- If something doesn't build correctly, this might help:\n\n```zsh\ndart run build_runner build -d\n```\n\n2.  ### It's now possible to run or build the app in the usual way\n    _Rebuilds are necessary after any updates or changes to affected files (`watch` command does it for you)_\n   - Either with your IDE or\n   - from Terminal:\n   ```bash\n   flutter run\n   ```\n\n\n\n4. **[OPTIONAL]** If you operate on many Flutter versions, I reccomend to you `fvm` Flutter version manager: https://fvm.app/\n```bash\nfvm dart run build_runner watch\nfvm flutter run\n// etc...\n```\n    \n\n### Additional notes:\n\n1. App's custom theme usage instructions: https://github.com/Solvro/topwr-mobile/tree/main/lib/theme\n2. Introductions to internationalizing flutter apps (making them available in different languages): https://docs.flutter.dev/ui/accessibility-and-internationalization/internationalization\n3. Api helper module instructions: https://github.com/Solvro/topwr-mobile/tree/main/lib/api_base\n4. We use `flutter_gen` for generating asset paths: https://pub.dev/packages/flutter_gen \n5. For unified names read and follow: [taxonomy.md](./taxonomy.md)\n6. For navigation we use `auto_route`, docs here: https://pub.dev/packages/auto_route\n\n# Before you push a commit\n- run the linter\n```bash\nflutter analyze\n```\n- if you have any problems listed, try to autofix with\n```bash\ndart fix --apply\n```\n- run `analyze` again, if problems still persist, correct them manually. If you disagree with some of the rules, we can still discuss and adjust them. Hit me up @simon-the-shark or open an issue.\n- run formatter\n```bash\ndart format .\n```\n- run riverpod linter (and any other custom lint package)\n```bash\ndart run custom_lint\n```\n## Github workflow\nDon't worry if you've forgotten about the steps, automatic gh action will run the checks for you and notify if somthing's wrong.\n\n## Husky \nWe have husky hooks, but you have to install them once:\n```\ndart run husky install\n```\n\n## Working with git\n\n### Github Solvro Handbook 🔥\n\nhttps://docs.solvro.pl/guides/github\n\n### SSH\n\nConnecting to Github(Gh) repository via SSH on Windows, tutorial: https://www.youtube.com/watch?v=vExsOTgIOGw\n\n### Building new feature\n\n1. git checkout main -\u003e checkout main branch\n2. git pull origin main -\u003e pull current changes from main branch\n3. git fetch -\u003e be up to date with remote branches\n4. git checkout -b MOBILE-x_my_feature_branch -\u003e x - stands for issue number; it is going to checkout and create new branch name MOBILE-x_my_feature_branch\n   (... working on the feature, we are still on our branch named MOBILE-x_my_feature_branch)\n5. git add . -\u003e add all changes we have made\n6. git commit -m \"My changes description\" -\u003e commit made changes with proper description\n7. git push origin MOBILE-x_my_feature_branch -\u003e pushing our changes to remote branch\n8. On Github we are going to make Pull Request (PR) from our remote branch\n\n### Remarks\n\n- Do not push directly to main branch!!! This is bad practice!\n- local branch - is our branch on our computer not on the server if we do some chagnes and do checkout to diffrent branch without saving them(commiting) we might loose them, commit before checkout to different branch!\n- remote branch - this is branch with our code in github's servers\n- After code review which was successful, we can merge from our feature branch to main branch. After merging we should clean after ourself.\n\n1. git branch -d MOBILE-x_my_feature_branch -\u003e deletes our local branch\n2. git push origin --delete MOBILE-x_my_feature_branch -\u003e delete our remote branch\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolvro%2Fmobile-topwr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolvro%2Fmobile-topwr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolvro%2Fmobile-topwr/lists"}