Skip to content

Commit 549cac4

Browse files
committed
Improve app design
1 parent f577d6f commit 549cac4

File tree

436 files changed

+42829
-50502
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

436 files changed

+42829
-50502
lines changed

README.md

Lines changed: 89 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,60 @@
1-
# Altaqwaa-Islamic-Desktop-Application
2-
1+
![preview|690x388](/screenshots/Featured_banner.png)
32
<br>
43

5-
#### التقوى | تطبيق إسلامي لسطح المكتب يعمل على انظمة التشغيل ويندوز ولينكس
4+
- - -
65

76
<br>
87

9-
<p align="center">
10-
<img align="center" src="/github/1.png"> <br><br><br><br>
11-
<img align="center" src="/github/2.png"> <br><br>
12-
<img align="center" src="/github/3.png"> <br><br>
13-
<img align="center" src="/github/4.png"> <br><br>
14-
<img align="center" src="/github/5.png"> <br><br>
15-
<img align="center" src="/github/8.png"> <br><br>
16-
</p>
8+
**تطبيق إسلامي مفتوح المصدر يعمل على أنظمة التشغيل ويندوز ولينكس سهل الإستخدام و جامع للكثير من الميزات التي يحتاجها المسلم في يومه**
179

10+
<br>
1811

19-
<br><br>
2012

13+
- - -
2114

22-
## مميزات التطبيق
15+
# مميزات التطبيق
16+
<br>
2317

24-
- القرآن الكريم كتابة و صوت
25-
- حصن المسلم
26-
- أسماء الله الحسنى ومعانيها
18+
- القرآن الكريم `نص`
19+
- القرآن الكريم `صوت`
2720
- أذكار الصباح
28-
- أذكار المساء
29-
- أذكار النوم
21+
- أذكار المساء
3022
- أذكار الطعام
23+
- أذكار النوم
3124
- أذكار الصلاة
32-
- تسابيح
33-
- مواقيت الصلاة
34-
- إشعار صوت وكتابة بدخول وقت الصلاة
35-
- إشعارات أذكار متنوعة
36-
- بدء تشغيل التطبيق مع بدء تشغيل النظام (ويندوز فقط)
37-
- إشعارات صوت أذكار الصباح والمساء
38-
- إمكانية إيقاف وتفعيل الإشعارات
39-
- قريباً
25+
- تسابيح
26+
- مواقيت الصلاة حسب إحداثيات موقعك عبر الـ (**ip**)
27+
- إمكانية تعديل موقعك (**عبر إدخال خطوط الطول والعرض**) و المنطقة الزمنية
28+
- تغير طريقة حساب أوقات الصلاة (**ام القرى , رابطة العالم الإسلامي ,الهيئة المصرية العامة للمساحة الخ ...**)
29+
- إشعار صوتي (**أذان**) بدخول وقت الصلاة
30+
- إشعار صوتي بـ أذكار الصباح والمساء
31+
- بدء تشغيل التطبيق مع بدء تشغيل النظام (**ويندوز فقط**)
32+
- إيقاف وتشغيل الإشعارات
33+
- نافذة شريط القوائم (**منطقة الإعلامات**) تبين الساعة + الصلاة القادمة
34+
35+
<br>
36+
37+
---
38+
39+
<br>
4040

41-
## العيوب
41+
# صور الشاشة
42+
43+
<br>
44+
45+
| ![altaqwaa](/screenshots/1.png) | ![altaqwaa](/screenshots/2.png) |
46+
|:------------------------|----------------------|
47+
| ![altaqwaa](/screenshots/3.png) | ![altaqwaa](/screenshots/4.png) |
48+
| ![altaqwaa](/screenshots/5.png) | ![altaqwaa](/screenshots/6.png) |
49+
| ![altaqwaa](/screenshots/7.png) | ![altaqwaa](/screenshots/8.png) |
50+
| ![altaqwaa](/screenshots/9.png) | ![altaqwaa](/screenshots/9.png) |
4251

43-
- مقاس التطبيق ثابت
44-
- 900px X 550px
4552

46-
## تنزيل التطبيق
53+
54+
55+
<br>
56+
57+
# تنزيل التطبيق
4758

4859
<br><br>
4960

@@ -65,46 +76,83 @@
6576

6677
<br><br>
6778

68-
## قم بتشغيل التطبيق في وضع التطوير
79+
80+
# قم بتشغيل التطبيق في وضع التطوير
6981

7082
<br><br>
7183

72-
##### متطلبات التشغيل
84+
##### متطلبات التشغيل
85+
7386
- nodejs
74-
- git
87+
88+
- git
89+
7590
- yarn
7691

7792
<br>
7893

7994
```bash
8095

8196
git clone https://github.com/rn0x/Altaqwaa-Islamic-Desktop-Application
97+
8298
cd Altaqwaa-Islamic-Desktop-Application
99+
83100
yarn install
101+
84102
yarn run dev
85103

86104
```
105+
87106
<br>
88107

89-
#### build
108+
#### build
90109

91110
<br>
92111

93112
```bash
94113

95114
#Windows
115+
96116
yarn run packwin
97117

98118
#Linux
99-
yarn run packlinux
100119

120+
yarn run packlinux
101121

102122
```
103-
<br><br><br><br><br><br>
104123

105-
### لقطات شاشة
124+
![cmd_2|690x171](/screenshots/cmd_1.png)
106125

107-
<p align="center">
108-
<img align="center" src="/github/6.png"> <br>
109-
<img align="center" src="/github/7.png">
110-
</p>
126+
![cmd_1|690x205](/screenshots/cmd_2.png)
127+
128+
# التبعيات
129+
- adhan-js
130+
- electron
131+
- fs-extra
132+
- moment-js
133+
- node-fetch
134+
- request
135+
- menubar
136+
137+
<br>
138+
139+
140+
# المصادر
141+
142+
<br>
143+
144+
| مصدر | الرابط |
145+
|:--------------------------|------------------------|
146+
| القرآن الكريم | https://github.com/rn0x/Quran-Json |
147+
| ملفات صوت القرآن الكريم | https://www.mp3quran.net/api/_arabic.json |
148+
| الأذكار | https://www.islambook.com/azkar |
149+
| الحصول على إحداثيات الموقع | http://ip-api.com/json |
150+
| الأيقونات | https://www.flaticon.com |
151+
| خطوط | https://fonts.qurancomplex.gov.sa/wp02 |
152+
| خطوط | https://github.com/rastikerdar/vazirmatn |
153+
154+
155+
<br>
156+
157+
158+
# سبحانك اللهم وبحمدك أشهد أن لا إله إلا أنت أستغفرك وأتوب إليك

Window/audio_window.js

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
const path = require('path');
2+
3+
module.exports = function audio_window(BrowserWindow, ipcMain, app) {
4+
5+
let win
6+
7+
ipcMain?.handle('App_Path3', async () => {
8+
return path.join(app?.getPath("appData"), './altaqwaa');
9+
});
10+
ipcMain?.on('closed3', () => {
11+
if (win?.isVisible()) {
12+
win?.hide();
13+
}
14+
});
15+
ipcMain?.on('show3', () => {
16+
win?.show();
17+
});
18+
19+
win = new BrowserWindow({
20+
width: 600,
21+
height: 200,
22+
x: 450,
23+
y: 0,
24+
show: false,
25+
center: true,
26+
frame: false,
27+
resizable: false,
28+
title: 'التقوى',
29+
icon: path.join(__dirname, '../build/icons/icon.png'),
30+
webPreferences: {
31+
sandbox: false,
32+
preload: path.join(__dirname, '../preload/audio_window.js')
33+
}
34+
});
35+
36+
37+
win.removeMenu();
38+
39+
// and load the file.pug of the app.
40+
win?.loadFile(path.join(__dirname, '../pages/audio_window.html'));
41+
42+
win?.once('ready-to-show', () => {
43+
win?.hide();
44+
//win.webContents.openDevTools();
45+
});
46+
47+
win?.on('closed', (event) => {
48+
event?.preventDefault();
49+
win = null
50+
});
51+
52+
}

Window/home.js

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
const path = require('path');
2+
const createFile = require('../module/createFile.js');
3+
const tray_window = require('./tray_window.js')
4+
const location = require('../module/location.js');
5+
6+
module.exports = async function homeWindow(BrowserWindow, ipcMain, app, Tray, Menu, globalShortcut) {
7+
8+
createFile(path.join(app.getPath("appData"), './altaqwaa'));
9+
await location(path.join(app?.getPath("appData"), './altaqwaa'));
10+
let win
11+
let tray
12+
let contextMenu
13+
14+
win = new BrowserWindow({
15+
width: 1000,
16+
height: 600,
17+
minWidth: 1000,
18+
minHeight: 600,
19+
show: false,
20+
center: true,
21+
frame: false,
22+
title: 'التقوى',
23+
icon: path.join(__dirname, '../build/icons/icon.png'),
24+
webPreferences: {
25+
nodeIntegration: true,
26+
sandbox: false,
27+
preload: path.join(__dirname, '../preload/preload.js')
28+
}
29+
});
30+
31+
win.removeMenu();
32+
// and load the file.pug of the app.
33+
win?.loadFile(path.join(__dirname, '../pages/home.html'));
34+
35+
win?.once('ready-to-show', () => {
36+
win?.show();
37+
//win.webContents.openDevTools();
38+
});
39+
40+
win?.on('minimize', (event) => {
41+
event?.preventDefault();
42+
win?.hide();
43+
});
44+
45+
win?.on('closed', (event) => {
46+
47+
event?.preventDefault();
48+
// tray?.destroy();
49+
tray = null
50+
contextMenu = null
51+
win = null
52+
app?.quit()
53+
});
54+
55+
ipcMain?.on('closed', () => win?.close());
56+
57+
ipcMain?.on('minimizable', () => {
58+
59+
if (win?.isMaximized()) win?.unmaximize();
60+
else win?.maximize();
61+
});
62+
63+
ipcMain?.on('minimize', () => win?.minimize());
64+
ipcMain?.handle('App_Path', async () => {
65+
let App_Path = path.join(app?.getPath("appData"), '/altaqwaa');
66+
return App_Path
67+
});
68+
69+
contextMenu = Menu.buildFromTemplate([
70+
{
71+
label: 'عرض التطبيق', click: function () {
72+
win.isVisible() ? win.hide() : win.show()
73+
}
74+
},
75+
{
76+
label: 'إغلاق', click: function () {
77+
if (win !== null) {
78+
win?.close();
79+
}
80+
else if (win === null) homeWindow()
81+
app.isQuiting = true;
82+
app?.quit();
83+
}
84+
}
85+
]);
86+
tray = new Tray(path.join(__dirname, '../build/icons/icon.png'));
87+
tray?.setContextMenu(contextMenu);
88+
tray?.setToolTip("التقوى");
89+
90+
tray_window(tray, win, ipcMain, app);
91+
92+
if (process.argv.includes('--hidden')) {
93+
94+
win?.hide()
95+
96+
}
97+
98+
globalShortcut?.register('Ctrl+shift+T', () => {
99+
100+
if (win?.isVisible()) {
101+
win?.hide()
102+
}
103+
else {
104+
win?.show()
105+
}
106+
107+
});
108+
109+
app?.on('before-quit', function () {
110+
tray?.destroy();
111+
});
112+
113+
114+
}

0 commit comments

Comments
 (0)