Dokodemo-Kerja App

Comprehensive employee attendance solution.

Wednesday 30 September 2020
React Native
Redux
Axios
React Navigation
Mobile
Android
IOS
Google Play Store
Apple App Store

Overview

Dokodemo-Kerja is an attendance and productivity management application designed office work attendance. It addresses the challenges faced by organizations in monitoring and optimizing employee performance, particularly in remote or work-from-home (WFH) scenarios. This versatile tool caters to businesses of all sizes, offering a user-friendly interface coupled with robust features to streamline workforce management.

Features

  • Task Assignment: Facilitates the allocation and tracking of specific tasks, enhancing project visibility for supervisors and managers.
  • Flexible Time Logging: Incorporates intuitive "Start" and "Stop" functionality, eliminating the need for traditional time cards and promoting adaptable work schedules.
  • Work Duration Monitoring: Accurately captures and aggregates individual employee work hours.
  • Leave Management: Streamlines the process of tracking available leave days, their validity, and simplifies the online application procedure.
  • Geolocation Services: Utilizes GPS technology to pinpoint the real-time location of active employees for app and web usages.
  • Comprehensive Reporting: Generates detailed summaries of work hours across daily, weekly, and monthly timeframes.
  • Store Listings: The app is listed on Google Play Store and Apple App Store for distribution.

Tech Stack

  • React Native for cross-platform mobile development
  • Redux for state management
  • Axios for API communication
  • React Navigation for seamless app navigation

Lessons Learned

This was my first production app using React Native. I learned a lot of things from this project. I learned about the importance of good documentation and how to work with a team to deliver a product on time. I also learned a lot about React Native and its capabilities and limitations. One particular challenge was the integration of geolocation services, which required a good understanding of the technology and how to implement it in a React Native app. The app was integrated with backend system handled by different teams, and I learned a lot about API integration and how to work with different APIs.

In this project I was also responsible in its listing on Google Play Store and Apple App Store. During this I learned about the their differences and the flows of how an app being distributed for mobile device. One particular challenge that I had was the Apple App Store have a lot of restrictions and things to take care of to make sure the