Giter VIP home page Giter VIP logo

namaz-vakti's Introduction

namaz-vakti (Türkçe)

Free, ad-free, open-source, and sleek Muslim Praying Times app. Available on Google Play Store, Windows Apps Store, and the web.

Pulls time information from the official website of the turkish directorate of religious affairs over the internet. To fetch data, namaz-vakti-api is used. Currently namaz-vakti-api runs on a free Heroku server. So there might be a cold start since it goes to sleep after 1 hour of inactivity. namaz-vakti-api is also an open-source project.

Features

PWA

namaz-vakti is a Progressive Web App (PWA). So it means although it is a website, once it's loaded over the Internet, it can work without the Internet. namaz-vakti fetches data monthly. So once you get data, you can use it for a month without an Internet connection.

Hijri Calender

You can see religious days and nights from the menu item "Religious Days".

In the "Praying Times" screen, when a religious day is close, you will see an alert.

Hijri calendar calculations are without using any third-party application. The logic is inside HijriDate.ts file

Various Customizations

  • Multiple themes (Dark or Light)
  • Change language (currently English and Turkish)
  • Show or hide hijri date
  • Change zoom level
  • Multiple date formats
  • Multiple time formats

Development

Built with Typescript, Vue.js, and Vuetify.

Do NOT overwrite service-worker.js during deploy!

New Version Deployment

  • Generate a build. npm run build2 command will generate a build and recreate "dist" folder.
  • Copy-paste this folder into "gh-pages" branch
  • run npm run sw command this "gh-pages" branch.
  • Push your changes. Static website in GitHub will be updated. Since it uses PWA, you need to close browser and then comeback to the website.

namaz-vakti's People

Contributors

canbax avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

namaz-vakti's Issues

Vue 3, vuetify 3 pinia ve router ile version 2 yaz!

router yerine daha basitçe yapılabilir https://vuejs.org/guide/scaling-up/routing.html#simple-routing-from-scratch

<script setup>
import { ref, computed } from 'vue'
import Home from './Home.vue'
import About from './About.vue'
import NotFound from './NotFound.vue'

const routes = {
  '/': Home,
  '/about': About
}

const currentPath = ref(window.location.hash)

window.addEventListener('hashchange', () => {
  currentPath.value = window.location.hash
})

const currentView = computed(() => {
  return routes[currentPath.value.slice(1) || '/'] || NotFound
})
</script>

<template>
  <a href="#/">Home</a> |
  <a href="#/about">About</a> |
  <a href="#/non-existent-path">Broken Link</a>
  <component :is="currentView" />
</template>

when you select the location at first, it is not seen.

when I first select a location, I don't see the current location at the app bar. When I reload the page, I see it (If I chosen Ankara, I show the times immediately but the app bar does not write "Ankara" immediately)

Possible changes on App Bar

  • put refresh button on app bar to reload times data
  • show country name on app bar
  • maybe we can put some other things on that to use it effectively

user feedback

  1. Çevrimdışı olunca internet yok uyarısı geliyor, sonra cache den yükleyerek sayfayı oluşturuyor. Bu güzel ama internet yok uyarısı vermeden önce cache kontrolü yapılsa daha güzel olur.

  2. Ülke > Şehir > İlçe seçiminde mesela Viyanayı seçmek için Avusturya > Avusturya > Viyana, şeklinde seçim yapmak gerekiyor. Burada ikinci sırada şehir listesinde zaten sadece avusturya olduğu için burası otomatik seçilip gizlenebilir. Yada ilk başta sadece ülke selectbox görünür, sonra seçilen ülkenin şehir sayısına göre diğer selectbox lar gösterilebilir.

  3. Galiba Timezone ayarlarında bir sorun var.
    image

change icon

a more simplistic, flat, easy, material-theme like icon would be better

religious dates shown below screen

The notification about religious dates can be seen on the animation when you go back to today. It is somehow hidden at the bottom of the phone screen

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.