DEV Community

jsong89
jsong89

Posted on • Updated on

Finally end with my release 0.4

Overview

Finally, I will introduce the process that was in the process of finishing Release 0.4, the last work of the open source development process :)

Target Repository

Working Repo => Repo

As a Todo-list app, when a user inputs a specific task and adds it, it is displayed together with the registration time in the form of an individual item list.

Issues

Working Issue => Issue

I set the following goals to add new features to the project while keeping details alive.
-Display current time + weather(can utilize external api)
-Based on the time automatically change the dark-light mode
-Insert more animations to good effect
-Progressive bar to check easily how many tasks have been done and need to do

Pull Request

Pull Request=> Pull-Request

This is a requested pull request for the issues listed above. Actually, I wanted to make a commit in advance and request a separate pull request to show the work status clearly by time period.. It was after this semester that I used Git Hub properly, so I accidentally completed almost the same as before and applied for a pull request after committing. From now on, I will make a pull request and commit in advance so that I can show the progress over time in a better way.

The part I did in the pull request included upgrades for the same 4 issues as the issue.

1

Get weather information from Openweather api and print it out. (It automatically tracks the current location and brings the local weather.)

2

By using the code below, the dark-light mode is automatically switched according to day and night.

if (
        new Date() <= new Date(data.sys.sunrise * 1000) ||
        new Date() >= new Date(data.sys.sunset * 1000)
      ) {
        toggleDark();
      }
Enter fullscreen mode Exit fullscreen mode

3

opacity: 0.7;
  transition-duration: 0.5s
Enter fullscreen mode Exit fullscreen mode

was used to additionally implement smooth motion transitions.

4

Based on the number of Todo list items stored in LocalStorage, the following progress bar has been implemented.

if (todos) {
    for (i = 0; i < todos.length; i++) {
      if (todos[i].completed) {
        checkedItem++;
      }
    }
    progressP = (checkedItem / todos.length) * 100;
  }
  progressBar.style.width = progressP + "%";
  console.log(progressBar.style.width);
  progressBar.innerHTML = progressP.toFixed(1) + "%";
Enter fullscreen mode Exit fullscreen mode

So.. what I achieved in this release!

This release can be said to have been one of the really interesting courses I've taken so far. This is because I took all the parts that I had practiced once and mixed them well at once to create a result. Therefore, through this release, it seems to be the biggest achievement to review all the previously learned web development + JavaScript materials and to be able to apply them more proficiently.

As a result..

At the end of this release, the course has finally come to a practical end. However, based on what you have learned this semester, you will be able to further develop your personal projects and your own development skills. Personally, this semester has taught me very clearly the importance of time control and how to use it well. Also, the most important thing I could realize was the reason why I had to properly consider the names of various functions and classes that I had never considered when working alone, and why I had to think more about the location of various codes and functions and the design of the functions. will be This release 0.4 completely overcomes the schedule management mistakes and time control failures that were done in the previous release 0.3. I also think that we were able to successfully finish the project by perfectly accomplishing what we had planned.

Overall, this course was a continuation of surprise and freshness!!! It was a very valuable course that allowed me to look at the whole project from a broader perspective, breaking away from the simple coding and development skills I had learned before!

Discussion (0)