Giter Site home page Giter Site logo

rdjarbeng / countdown Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 3.0 24.07 MB

Countdown timer with themes, dark and light mode, day of year count built as website & PWA

Home Page: https://rcountdown.netlify.app/

License: MIT License

JavaScript 52.12% HTML 15.57% CSS 32.30%
css js open-source open-source-project

countdown's Introduction

Hi I am Richard Djarbeng

Developer | Computer Engineer

I specialize mostly in web development, machine learning and Internet of Things (IoT) devices such as the Raspberry Pi and Arduino.

Often use Python, Java, C++, Dart for Flutter mobile app development and a host of other languages to build a working application.

Contributor to the complete machine learning package

  • ๐Ÿš€ย  I'm currently working on Countdown application with themes and dark mode, building my personal website and following the course fastai for deep learning
  • ๐Ÿง ย  I'm learning Machine learning, Data Science, Software Engineering best practices
  • ๐Ÿคย  Open to collaborating on interesting projects

Skills

JavaScript PHP Python Java C++ React NodeJS MySQL Firebase Flutter

Socials

countdown's People

Contributors

nyakotey avatar rdjarbeng avatar wseng avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

nyakotey

countdown's Issues

Toggle Icon Misaligned

The toggle icon overlaps the banner
This is reproducible on mobile and/or any device with a small screen

Whatsapp link redirect not working

The link for whatsapp redirect without needing to click a button does not work after the second try when the user allows the app permissions to show notifications . Find more details in the stack overflow question I posted below.

Stack overflow post

Test it out here on a mobile browser with a phone with whatsapp installed.
Test day of year link

Find the code in the branch whatsapp link/dayofyear.html
Link to branch

Access user/site data from any device

Previous and Current implementation v2.5.1 of the application stores the created data on the user's device.
Once the user moves to a different device the saved countdowns/items are lost. There is also no way to transfer the saved items to another device.

Proposed solution: move countdown storage to cloud storage (firebase). Partition users so data remains private. Use public countdowns for data that user's want to share.

Performance & Optimization

The project is growing fast and consequently performance begins to be a concern, #38 as an example. There is also need for more consistency in the project.
This is my suggestion:
when everything is set for v2(before deploying), there should be an optimization run where we will;

  • organize the files into suitable folders
  • agree on code spacing and pretty format all files (currently some are 2 spaces and others 4)
  • remove redundant comment and code.
  • optimize DOM manipulations (most performance issues come from this ) - analyze and take out unneeded manipulations
  • refactor the files
    โ€ƒ use BEM convention for the CSS, agree on method of getting DOM references and improve consistency

Netlify CI/CD for all branches

Currently Netlify only deploys the master/production branch
@RDjarbeng Please set continuous deployment for all branches, to enable ease in testing experimental features happening on other branches

Sanitize/ escape user input

When a tech savvy user enters html code or scripts in the text input box it is output directly unto the page. Scripts fortunately do not run but the html is parsed on the page. A fix is being implemented in #85
image

Update readme to show how to use application, follow github conventions of what the repository is about, how to use, contributing, licenses

Current readme focuses on progress the repository has made and gives a nice history of where it started. Although this is cool it does not show how to use the application or suggest ways contributors can contribute to the project.
It would be nice to have the main readme that shows what a user needs and more helpful information.
Example sections include: what is the repository about, how is it supposed to be used, what are the guidelines for contributors...

Toggle Icon, autoMode inconsistent

in autoDark mode: the toggle icon changes to the appropriate icon upon the first click. Subsequent clicks do not change it whatsoever.
in autolight mode, the icon does not change at all

Tested at 6:45am and autoMode is still in dark
so at 7:00am, mode switches to light.
Expected behaviour is for light mode to activate at 6am

Page loads slowly sometimes on mobile

The site can take greater than 7 seconds to load on a mobile network, according to lighthouse audit.
Not sure if this is due to the service worker for the PWA

Edit readme images

screenshots of dark and light mode for mobile should be placed side by side to save screen real estate and scrolling

Change Countdown deadline

  • Create a separate class/file for the clock.
  • Set the countdown deadline to a given date and time instead of midnight

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.