JetpackCompose.app
JetpackCompose.app is a website that helps you learn more about the biggest change in Android development since its inception. It consists of tools, tutorials, resources and examples that help you level up your Jetpack Compose knowledge.
Note: The website continues to be actively developed but some new development is now happening in a private repository. I'm keeping this repository around for inspiration on how it was implemented. Kindly star the repository if you are a user of this site or if you found the source code useful. I'm committed to making sure JetpackCompose.app is one of the best places to learn about Compose!
There are 4 main sections in the website:
Compose Catalog - The most reliable source for finding the latest libraries, tools and & examples about Jetpack Compose. | |
Which Compose API to use? - An IFTTT'esque tool that lets you enter an API/Widget from classic Android and makes a recommendation for the corresponding API to use in Jetpack Compose. | |
Compose Quick Bites - Easy-to-consume bite sized content about the core concepts of Jetpack Compose. | |
FAQ's - The most common questions about Compose answered with links to relevant sources. |
Tech Stack
The website uses the following frameworks & tools:
- Gatsby
- Vercel for hosting the site and continuous deployments
- React
- Forestry - CMS layer so that I can organize the content of the site. All the content is stored within this repo itself in json files. You can find them here
The table below illustrates links you to the relevant folders for each part of the website. If you want to update any of the content on the site, you can simply do so by updating the corresponding data/content json files. It's intentionally lightweight so that anyone can contribute.
Compose Catalog |
UI Code Content/Data |
Which Compose API to use? |
UI Code Content/Data |
Compose Quick Bites |
UI Code |
FAQ's |
UI Code Content/Data |
Building the website
-
The site uses Github API for pulling the stars for github project that are added to Compose Catalog. In order to use it properly, generate a personal access token and copy it.
-
Since the site uses Gatsby, it has two modes for compiling a site:
Develop - run with the GITHUB_TOKEN=<TOKEN_FROM_STEP_1> gatsby develop
command
Build - run with GITHUB_TOKEN=<TOKEN_FROM_STEP_1> gatsby build
and then gatsby serve
Contributing
Pull requests are welcome! I'd love your help in improving the website. Feel
free to browse through open issues to look for things that need work. If you
have a new idea or want to suggest improvements, just open a new issue and we
can discuss it there
License
Copyright 2022 Vinay Gaba.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.