Skip to content

ahmmedrejowan/DeviceInfo

Repository files navigation

platform API GitHub license

GitHub issues GitHub forks GitHub stars GitHub contributors


Idea and Motivation

After trying out a bunch of device information apps, I got curious about how they work. That led me to think, "Why not make one myself?"

So, I used Kotlin and a bit of Java, plus some basic XML design, to create my own. Before diving in, I checked out similar apps to see what features I liked. Then, I made a list of what I wanted in my app. My main goal? To make it super easy to use and give you all the info you need about your device.

It took about a month to finish everything – planning, designing, building, and testing. But now, Device Info is good to go!

Read the whole story

Features

The app consists of five main components that work together to provide a seamless user experience.

Dashboard

  • At-a-Glance Insights: Get a quick overview of your device’s most crucial information, all presented on a beautifully designed dashboard.

Detailed Information

  • Component Breakdown: Explore in-depth details of your device’s CPU, GPU, OS, Display, RAM, Storage, Battery, and more.
  • Connectivity and Network: Understand your device’s network capabilities, including Wi-Fi, Bluetooth, and NFC connections.

Real-Time Monitoring

  • Performance Metrics: Monitor real-time data on CPU and RAM usage, as well as battery health, to keep your device running smoothly.

App Management

  • Comprehensive App Lists: Manage both installed and system apps, sorted by name, size, and installation date, with detailed pages for each app.

Hardware Testing

  • Interactive Tests: Verify the functionality of your device’s hardware, including multi-touch, flash, speaker, microphone, and various sensors.

Screenshots

Light Mode

Shot 1 Shot 2 Shot 3 Shot 4
Shot1 Shot2 Shot3 Shot4

Dark Mode

Shot 5 Shot 6 Shot 7 Shot 8
Shot1 Shot2 Shot3 Shot4

Download

The app is not available on the Play Store yet. You can download the latest version (0.1) APK from here


Check out the releases section for more details.

Tech Stack

Programming Languages

  • Java & Kotlin: For robust and efficient app development.
  • XML: To craft the user interface with precision.

Database

  • SQLite: For reliable local data storage and management.

Design Architecture

  • MVVM (Model-View-ViewModel): Ensures a clean separation of concerns and an organized codebase.

Integrated Development Environment (IDE)

  • Android Studio: The official IDE for Android development, providing a comprehensive suite of tools for building apps.

Design Tools

  • Figma: Utilized for high-fidelity UI/UX design and prototyping.

Libraries

  • Lottie: For adding high-quality animations to the app.
  • Koin: A pragmatic lightweight dependency injection framework.
  • Gson: For parsing and serializing JSON data efficiently.
  • MPAndroidChart: For rendering complex charts and graphs.
  • Glide: For efficient image loading and caching.
  • AndroidBatteryView: A custom library created specifically for displaying battery information.

Version Control

  • GitHub: Used for source code management, allowing for collaborative development and version tracking.

Releases

  • Verison 1.0.0
    • Initial release
    • Basic device information
    • Real-time monitoring
    • App management
    • Hardware testing

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please fork this repository and contribute back using pull requests.

Any contributions, large or small, major features, bug fixes, are welcomed and appreciated.

Let me know which features you want in the future in Request Feature tab.

If this project helps you a little bit, then give a to Star ⭐ the Repo.

License

Apache Version 2.0

Copyright 2024 ahmmedrejowan

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.