{"id":25477228,"url":"https://github.com/jjacoboflorez95/trips-log","last_synced_at":"2025-11-06T03:30:30.446Z","repository":{"id":276522262,"uuid":"919459482","full_name":"jjacoboflorez95/trips-log","owner":"jjacoboflorez95","description":"A web-based application for logging trips, calculating fuel efficiency, and tracking cumulative KML, developed using modular JavaScript.","archived":false,"fork":false,"pushed_at":"2025-02-17T22:09:38.000Z","size":51,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-17T23:22:28.102Z","etag":null,"topics":["college-project","fuel-efficiency","javascript","oop","web-development"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jjacoboflorez95.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-01-20T12:33:55.000Z","updated_at":"2025-02-17T22:09:41.000Z","dependencies_parsed_at":"2025-02-08T19:44:18.430Z","dependency_job_id":null,"html_url":"https://github.com/jjacoboflorez95/trips-log","commit_stats":null,"previous_names":["jjacoboflorez95/trips-log"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjacoboflorez95%2Ftrips-log","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjacoboflorez95%2Ftrips-log/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjacoboflorez95%2Ftrips-log/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jjacoboflorez95%2Ftrips-log/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jjacoboflorez95","download_url":"https://codeload.github.com/jjacoboflorez95/trips-log/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239481444,"owners_count":19646041,"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":["college-project","fuel-efficiency","javascript","oop","web-development"],"created_at":"2025-02-18T13:38:16.582Z","updated_at":"2025-11-06T03:30:30.398Z","avatar_url":"https://github.com/jjacoboflorez95.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚗 Trips Log\n\n## 📌 Project Overview\n\n**Trips Log** is a **web application** that helps users **log their trips** by entering **destination details, kilometers driven, and liters of gas used**. It calculates the **fuel efficiency** (kilometers per liter - KML) for each trip and displays the **cumulative KML** for all logged trips. This application is ideal for **tracking fuel consumption** and optimizing travel efficiency.\n\nDeveloped as part of a **college assignment**, this project showcases **JavaScript-based data management, dynamic UI updates, and object-oriented programming (OOP) principles**.\n\n---\n\n## 🚀 Features\n\n- 📝 **Log Trips** – Users can add trip details, including **destination, kilometers driven, and liters of gas used**.\n- 🔢 **Fuel Efficiency Calculation** – Automatically calculates the **KML** for individual trips.\n- 📊 **Cumulative KML** – Displays the **average KML** across all logged trips.\n- 🖥️ **Interactive User Interface** – Provides a **real-time trip list** that updates as new trips are added.\n- ✅ **Input Validation** – Ensures **all fields** are completed with **valid data** before adding a trip.\n\n---\n\n## 🛠 Technologies Used\n\n- **HTML5** → Structures the user interface.\n- **CSS3** → Styles the layout with a **clean and accessible design**.\n- **JavaScript (ES6)** → Handles **dynamic interactions, input validation, and trip data calculations**.\n- **jQuery** → Simplifies **DOM manipulation** and event handling.\n- **Object-Oriented Programming (OOP)** → Implements a `Trip` class and `trips` module for structured data management and calculations.\n\n---\n\n## 🎯 Project Purpose\n\nThis project was developed as part of a **college assignment**, allowing me to practice:\n\n- ✅ **JavaScript object-oriented programming** for managing trip data.\n- ✅ **Data validation and error handling** for better user experience.\n- ✅ **Dynamic DOM manipulation** for updating trip logs in real time.\n- ✅ **Modular programming principles** to maintain clean and reusable code.\n- ✅ **User experience (UX) improvements** for smooth navigation and interaction.\n\n---\n\n## 📂 Project Structure\n\n```\n📁 trips_log\n ├── 📄 index.html        # Main HTML file for the application\n ├── 📄 trips.css         # Stylesheet for the layout and design\n ├── 📄 trips.js          # Handles user interactions and DOM updates\n ├── 📄 lib_trips.js      # Contains the Trip class and trip data module\n```\n\n---\n\n## 🏃‍♂️ How to Use the Application\n\n1️⃣ **Open the Application** – Launch `index.html` in a modern web browser.\n2️⃣ **Enter Trip Details** – Input:\n   - **Destination** – Enter the trip's location.\n   - **Kilometers Driven** – Input total kilometers driven (**must be a positive number**).\n   - **Liters of Gas Used** – Input fuel consumption (**must be a positive number**).\n3️⃣ **Add Trip** – Click **\"Add Trip\"** to log the trip.\n4️⃣ **View and Manage Trips** – See all logged trips along with **individual and cumulative KML** in the trip log.\n\n---\n\n## 📝 Code Highlights\n\n### **`Trip` Class** (`lib_trips.js`)\n- Stores **trip details** and **calculates KML**.\n- Validates **input data** to ensure correctness.\n\n### **`trips` Module** (`lib_trips.js`)\n- Manages **trip data**, calculates **cumulative KML**, and formats trip details for display.\n\n### **Dynamic Event Handling** (`trips.js`)\n- Captures **user input** and **updates the trip log dynamically**.\n\n---\n\n## 🌟 Future Improvements\n\n- ✏️ **Edit/Delete Trips** – Add functionality to modify or remove specific trips.\n- 💾 **Persistent Storage** – Save trip data using **local storage** or a **database**.\n- 🔍 **Advanced Filters** – Enable **sorting and filtering** trips by **destination or KML**.\n- 🎨 **Enhanced UI** – Incorporate **animations and themes** for a better user experience.\n\n---\n\n## 🎭 Screenshots  \n\n| Trips Log Application |  \n|--------------|  \n| ![Trips Log](imgs/github/trips-log.png) |  \n\n---\n\n## 📜 License\n\nThis project was developed for **educational purposes** as part of a **college assignment**.\n\n---\n\n## 💼 Author\n\n👤 **Juan Jacobo Florez Monroy**  \n🌐 **Portfolio**: [jjacobo95.com](https://jjacobo95.com)  \n🐙 **GitHub**: [github.com/jjacoboflorez95](https://github.com/jjacoboflorez95)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjjacoboflorez95%2Ftrips-log","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjjacoboflorez95%2Ftrips-log","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjjacoboflorez95%2Ftrips-log/lists"}