Absensi
Welcome to Absensi, a simple yet innovative web application that streamlines online attendance by capturing user photos, location data, and personal details. This project integrates Google Sheets for data storage and serves as a foundation for learning database integration and API usage.
About the Project
Absensi is a lightweight and efficient application designed to simplify attendance tracking. By capturing user photos, detecting their location, and storing the data in Google Sheets, it provides a practical solution for managing attendance records. The project was built using basic web technologies such as HTML, CSS, and JavaScript and introduces the use of Google Sheets as a simple database.
Key Features
- Photo Capture: Users can take photos directly through the app using their device's camera.
- Location Detection: Automatically fetches the user's current location using a geolocation API.
- Google Sheets Integration: Logs attendance data, including name, ID, photo link, and location, directly into Google Sheets.
- User-Friendly Design: A clean and responsive interface for seamless user interaction.
Development Process
The Absensi project was developed to explore the integration of APIs and a basic database using Google Sheets. The development process included:
- Designing the front-end interface with HTML and CSS for simplicity and responsiveness.
- Adding functionality for photo capture using the device's camera and processing the images via HTML5 Canvas.
- Implementing a geolocation API to detect and display the user's current location.
- Integrating Google Apps Script to handle form submissions and store the data in Google Sheets.
Challenges and Solutions
Challenge 1: The geolocation API occasionally failed to provide reliable data.
Solution: Considered migrating to a paid API for more accurate and consistent results, though it was not implemented due to budget constraints.
Challenge 2: Photos could not be directly stored in Google Sheets.
Solution: Uploaded the photos to Google Drive and inserted their respective links into Google Sheets to maintain a centralized record of all attendance data.
Technologies Used
- HTML
- CSS
- JavaScript
- Google Apps Script
- Geolocation API