{"id":15040989,"url":"https://github.com/arjunjadeja/something","last_synced_at":"2025-04-14T19:34:00.741Z","repository":{"id":257018454,"uuid":"856848031","full_name":"ArjunJadeja/Something","owner":"ArjunJadeja","description":"what you should avoid and learn from in kotlin","archived":false,"fork":false,"pushed_at":"2024-09-25T12:55:51.000Z","size":159,"stargazers_count":21,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-22T22:32:17.061Z","etag":null,"topics":["best-practices","exception-handling","exceptions","jetpack-compose","kotlin","mistakes","null-safety","type-safety"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/ArjunJadeja.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":"2024-09-13T10:16:30.000Z","updated_at":"2024-10-07T08:15:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"c1c02598-613f-42e9-9ed5-39b17981a923","html_url":"https://github.com/ArjunJadeja/Something","commit_stats":null,"previous_names":["arjunjadeja/something"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArjunJadeja%2FSomething","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArjunJadeja%2FSomething/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArjunJadeja%2FSomething/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArjunJadeja%2FSomething/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArjunJadeja","download_url":"https://codeload.github.com/ArjunJadeja/Something/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240765797,"owners_count":19854099,"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":["best-practices","exception-handling","exceptions","jetpack-compose","kotlin","mistakes","null-safety","type-safety"],"created_at":"2024-09-24T20:45:22.437Z","updated_at":"2025-02-25T23:32:55.152Z","avatar_url":"https://github.com/ArjunJadeja.png","language":"Kotlin","readme":"# \u003cimg src=\"assets/KotlinLogo.svg\" alt=\"Kotlin Logo\" height = 24 /\u003e Something to avoid and learn\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/SomethingThumbnail.png\" width=\"800\"/\u003e \n\u003c/p\u003e\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Kotlin Weekly](https://img.shields.io/badge/Kotlin%20Weekly-%23424-blue)](https://mailchi.mp/kotlinweekly/kotlin-weekly-424)\n[![GitHub](https://img.shields.io/badge/GitHub-ArjunJadeja-181717?style=flat\u0026logo=github)](https://github.com/ArjunJadeja)\n![GitHub last commit](https://img.shields.io/github/last-commit/ArjunJadeja/Something)\n![GitHub issues](https://img.shields.io/github/issues/ArjunJadeja/Something)\n![GitHub stars](https://img.shields.io/github/stars/ArjunJadeja/Something)\n\n## 💡 About Project\n\nThis project showcases common mistakes in Kotlin programming and alternate approaches to avoid them, as well as useful learnings and techniques.\n\n## 🚀 Quick Start\n\n1. Clone the repository:\n   ```\n   git clone https://github.com/ArjunJadeja/Something.git\n   ```\n2. Open the project in your favorite IDE.\n3. Explore the `mistakes` and `learnings` folders.\n\n## 🎓 Mistakes\n\nHere's a list of the mistakes added:\n\n1. [Uninitialized Properties](src/main/kotlin/mistakes/UninitializedProperties.kt)\n2. [Null Safety](src/main/kotlin/mistakes/NullSafety.kt)\n3. [Unsafe Casting](src/main/kotlin/mistakes/UnsafeCasting.kt)\n4. [Nullable Collections](src/main/kotlin/mistakes/NullableCollection.kt)\n5. [Custom Getters](src/main/kotlin/mistakes/CustomGetter.kt)\n6. [Lambda Variable Shadowing](src/main/kotlin/mistakes/LambdaVariableShadowing.kt)\n\n## 📚 Learnings\n\nHere's what we've learned so far:\n\n1. [Using then with Modifier in Jetpack Compose](src/main/kotlin/learnings/ThenWithComposeModifier.kt)\n\n## 📁 Project Structure\n\nThe project is organized into `mistakes` and `learnings` folders, each containing specific examples.\n\n```\nSomething/\n├── src/\n│   └── main/\n│       └── kotlin/\n│           ├── Main.kt\n│           ├── Something.kt\n│           ├── mistakes/\n│           │   ├── CustomGetter.kt\n│           │   ├── LambdaVariableShadowing.kt\n│           │   ├── NullSafety.kt\n│           │   ├── NullableCollection.kt\n│           │   ├── UninitializedProperties.kt\n│           │   └── UnsafeCasting.kt\n│           └── learnings/\n│               └── ThenWithComposeModifier.kt\n├── .gitignore\n├── LICENSE\n├── README.md\n└── build.gradle.kts\n```\n\n## 🎯 Future Goals\n\nThe goal is to continuously learn and grow from real-world mistakes and discoveries.\n\n## 🗺️ Roadmap\n\nThere's no fixed roadmap for this project. The approach is to:\n\n1. Add new learnings and mistakes as we encounter them.\n2. Welcome contributions from the community.\n\n## 🤝 Contributing\n\nContributions from Kotlin developers of all experience levels are welcomed! Whether you're a beginner or an experienced developer, your contribution can help others learn.\n\nPlease check our [Contribution Guidelines](GUIDELINES.md) for more details on how to contribute.\n\n## ⭐ Show Your Support\n\nIf you find this project helpful, please give it a star on GitHub. It helps others discover this resource!\n\n## 🔗 Connect\n\nFeel free to connect with me:\n\n[Arjun Jadeja - LinkedIn](https://www.linkedin.com/in/arjun-jadeja/)\n\n## 📚 Additional Resources\n\n- [Kotlin Playground](https://play.kotlinlang.org/)\n- [Kotlin Official Documentation](https://kotlinlang.org/docs/home.html)\n- [Kotlin Coding Conventions](https://kotlinlang.org/docs/coding-conventions.html)\n\nHappy coding, and remember: every mistake and learning is an opportunity! 🚀\n\n## 📄 License\n\n```\nCopyright (C) 2024 Arjun Jadeja (arjunjadeja.com)\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n     http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farjunjadeja%2Fsomething","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farjunjadeja%2Fsomething","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farjunjadeja%2Fsomething/lists"}