Skip to content

Commit

Permalink
main application file
Browse files Browse the repository at this point in the history
  • Loading branch information
rayan2162 committed Aug 10, 2024
0 parents commit 40f2973
Show file tree
Hide file tree
Showing 13 changed files with 5,790 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/dist
/node_modules
16 changes: 16 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
MIT No Attribution

Copyright <2024> <Rayanul Kader Chowdhury Abid>

Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify,
merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
114 changes: 114 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# My Life Management App

> This is a full functioning prototype. Currently at v1.0.0. If you have suggestions or improvements please send an email or open an issue on GitHub. Thank you!
## **My Life Management App** is a comprehensive, minimalist productivity tool designed to help you organize and streamline your daily tasks and long-term goals. Built with simplicity in mind, this application integrates various productivity methodologies and tools into an desktop app

![Alt text](page.png "Title")

## Features

- **Calendar**: Integrated calendar view.
- **To-Do List**: Organize your tasks with to-do list.
- **Important List**: Track important tasks.
- **Habit Tracker**: Develop and maintain positive habits by tracking.
- **Notes**: Keep all your thoughts, ideas, and information in one place.
- **Pomodoro Timer**: Boost your productivity with the Pomodoro technique.
- **Work tracker**: Prioritize your tasks using the work tracker.

## Download

**Download the Latest Windows (.exe) Release**:

- Visit the [Releases page](https://github.com/your-username/my-life-management/releases) to download the latest version of the application.

## Installation

**Install from the source code.**

1. **Clone the Repository**:

```bash
git clone https://github.com/your-username/my-life-management.git
```

**Navigate to the Project Directory**:

```bash
cd my-life-management
```

2. **Install Dependencies**:

Make sure you have Node.js installed. Install the dependencies using:

```bash
npm install
```

3. **Run the Application**:

Start the application using Electron:

```bash
npm start
```

## Create Package

For creating an installer or executable file, using electron-packager:

```bash
npm install electron-packager --save-dev
```

Package this app:

```bash
npx electron-packager . my-day-management-app --platform=win32 --arch=x64
```

This command creates a my-day-management-app-win32-x64 folder containing your packaged app.

## Create Installer

Using electron-builder (for more advanced options and auto-updating):

```bash
npm install electron-builder --save-dev
```

Add Build Scripts to `package.json`:

```json
"scripts": {
"start": "electron .",
"dist": "electron-builder"
},
"build": {
"appId": "com.mydaymanagement.app",
"productName": "My Day Management",
"files": [
"index.html",
"styles.css",
"script.js",
"main.js",
"preload.js",
"alarm.mp3",
"logo.ico"
]
}
```

Create Installer:

```bash
npm run dist
```

This command creates an installer or executable file for your platform.

## License

This project is licensed under the MIT License.
Binary file added alarm.mp3
Binary file not shown.
150 changes: 150 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My Day Management</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>

<div class="container">
<!-- First Box: Calendar -->
<div class="box size-1">
<div class="calendar" id="calendar">
<h1>Calendar</h1>
<div class="calendar-controls">
<button onclick="prevMonth()">&#9664;</button>
<span id="monthYear"></span>
<button onclick="nextMonth()">&#9654;</button>
</div>
<div class="days-of-week">
<span>S</span>
<span>M</span>
<span>T</span>
<span>W</span>
<span>T</span>
<span>F</span>
<span>S</span>
</div>
<div class="calendar-days" id="calendarDays"></div>
</div>
</div>

<!-- Second Box: To-Do List -->
<div class="box size-2">
<div class="todo">
<h1>To-Do</h1>
<input type="text" id="todoInput" placeholder="Add a new task...">
<button onclick="addTask()">Add Task</button>
<div class="todo-content">
<br>
<ul id="todoList"></ul>
</div>
</div>
</div>

<!-- Third Box: Checklist -->
<div class="box size-3">
<div class="checklist">
<h1>Important</h1>
<input type="text" id="checklist1Input" placeholder="Add a new task...">
<button onclick="addChecklist1Task()">Add Task</button>
<ul id="checklist1List">
<br>
</ul>
</div>
</div>

<!-- Fourth Box: Checklist (Duplicate) -->
<div class="box size-3">
<div class="checklist">
<h1>Habit</h1>
<input type="text" id="checklist2Input" placeholder="Add a new task...">
<button onclick="addChecklist2Task()">Add Habit</button>
<ul id="checklist2List">
<br>
</ul>
</div>
</div>


<!-- Fifth Box: Note Area -->
<div class="box size-4 span-two-rows">
<div class="hello-world-box">
<span id="currentTime"></span> <!-- This will display the current time -->
<br>
<span id="currentDate"></span> <!-- This will display the current date -->
</div>
<h1>Notes</h1>
<textarea id="notesArea" placeholder="Write your notes here..."></textarea>
<button onclick="saveNotes()">Save Notes</button>
</div>



<!-- Sixth Box: Timers -->
<div class="box">
<h1 style="margin-top: 0px;">Timers</h1>
<div class="timer">
<h2>Work Timer (25 mins)</h2>
<p id="workTimer">25:00</p>
<button onclick="startWorkTimer()">Start</button>
<button onclick="pauseWorkTimer()">Pause</button>
<button onclick="resetWorkTimer()">Reset</button>
</div>
<div class="timer">
<h2>Break Timer (5 mins)</h2>
<p id="breakTimer">05:00</p>
<button onclick="startBreakTimer()">Start</button>
<button onclick="pauseBreakTimer()">Pause</button>
<button onclick="resetBreakTimer()">Reset</button>
</div>
</div>

<!-- Seventh Box: Eisenhower Matrix -->
<div class="box size-6 span-two-cols">
<div class="eisenhower-grid">
<div class="matrix-box">
<h3>Today & Important</h3>
<div class="matrix-box-content">
<input type="text" id="urgentImportantInput" placeholder="Add a task...">
<br><br>
<button onclick="addUrgentImportantTask()">Add</button>
<ul id="urgentImportantList"></ul>
</div>
</div>
<div class="matrix-box">
<h3>This Week</h3>
<div class="matrix-box-content">
<input type="text" id="notUrgentImportantInput" placeholder="Add a task...">
<br><br>
<button onclick="addNotUrgentImportantTask()">Add</button>
<ul id="notUrgentImportantList"></ul>
</div>
</div>
<div class="matrix-box">
<h3>Upcoming</h3>
<div class="matrix-box-content">
<input type="text" id="urgentNotImportantInput" placeholder="Add a task...">
<br><br>
<button onclick="addUrgentNotImportantTask()">Add</button>
<ul id="urgentNotImportantList"></ul>
</div>
</div>
<div class="matrix-box">
<h3>Side Quest</h3>
<div class="matrix-box-content">
<input type="text" id="notUrgentNotImportantInput" placeholder="Add a task...">
<br><br>
<button onclick="addNotUrgentNotImportantTask()">Add</button>
<ul id="notUrgentNotImportantList"></ul>
</div>
</div>
</div>
</div>
</div>

<script src="script.js"></script>
</body>
</html>
Binary file added logo.ico
Binary file not shown.
32 changes: 32 additions & 0 deletions main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
const { app, BrowserWindow, Menu } = require('electron');
const path = require('path');

function createWindow() {
const mainWindow = new BrowserWindow({
width: 800,
height: 600,
icon: path.join(__dirname, 'logo.ico'), // Set your icon here
webPreferences: {
nodeIntegration: true,
},
});

mainWindow.loadFile('index.html');

// Hide the default menu
Menu.setApplicationMenu(null);
}

app.whenReady().then(createWindow);

app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit();
}
});

app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow();
}
});
Loading

0 comments on commit 40f2973

Please sign in to comment.