Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Flavio Aiello committed Dec 31, 2024
0 parents commit d5e857a
Show file tree
Hide file tree
Showing 16 changed files with 296 additions and 0 deletions.
14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
_site/
.sass-cache/
.jekyll-cache/
.jekyll-metadata
# Ignore folders generated by Bundler
.bundle/
vendor/

# System files
.DS_Store
Thumbs.db
ehthumbs.db
Icon?
._*
1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
app.tirkio.com
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2024 Tirkio

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, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

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.
109 changes: 109 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# TiRKiO Frugal

**TiRKiO Frugal** is a Progressive Web Application (PWA) designed for personal finance management. The app provides a seamless and native-like experience for users, combining the power of Framework7, Firebase, Jekyll, and GitHub Pages. Hosted on [app.tirkio.com](https://app.tirkio.com), this application enables users to track and manage their finances effectively.

---

## **Features**

- **PWA Functionality**:
- Installable on mobile and desktop devices.
- Works offline with cached resources.
- **Native-Like UI**:
- Built with Framework7 for a polished iOS/Android experience.
- **Firebase Integration**:
- Authentication for secure access.
- Cloud Firestore for storing and retrieving financial data.
- **Responsive Design**:
- Fully functional on mobile, tablet, and desktop devices.

---

## **Technology Stack**

1. **Frontend**:
- [Framework7](https://framework7.io/): Native-like UI components.
- [Jekyll](https://jekyllrb.com/): Static site generator.
2. **Backend**:
- [Firebase](https://firebase.google.com/): Authentication and Firestore database.
3. **Hosting**:
- [GitHub Pages](https://pages.github.com/): Free and easy static site hosting.

---

## **Project Structure**

tirkio-finance/
├── _layouts/ # Jekyll layouts
│ └── default.html # Main layout file
├── assets/
│ ├── css/
│ │ └── style.css # Custom styles
│ ├── js/
│ │ ├── firebase.js # Firebase configuration and logic
│ │ └── service-worker.js # Service worker for offline support
├── index.html # Main entry point
├── manifest.json # PWA manifest
├── ...


---

## **Setup and Installation**

### **1. Clone the Repository**
bash
git clone https://github.com/tirkio/app.tirkio.com.git
cd app.tirkio.com


### **2. Firebase Setup**
1. Go to [Firebase Console](https://console.firebase.google.com/) and create a project.
2. Set up Authentication (e.g., Email/Password or Google Sign-In).
3. Enable Cloud Firestore.
4. Replace firebase.js configuration with your Firebase project credentials.

javascript
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_PROJECT_ID.firebaseapp.com",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_PROJECT_ID.appspot.com",
messagingSenderId: "YOUR_SENDER_ID",
appId: "YOUR_APP_ID"
};


### **3. Deploy to GitHub Pages**
1. Push the project to a GitHub repository.
2. Go to the repository’s **Settings > Pages** and enable GitHub Pages.
3. Set the branch to main and folder to /root.
4. Your app will be live at https://github.com/tirkio/app.tirkio.com.git.

---

## **Offline Support**
- The app uses a service worker (service-worker.js) to cache essential resources and enable offline functionality.

---

## **Contributing**

We welcome contributions to enhance the app. To contribute:
1. Fork the repository.
2. Create a feature branch: git checkout -b feature-name.
3. Commit your changes: git commit -m 'Add feature'.
4. Push to the branch: git push origin feature-name.
5. Open a Pull Request.

---

## **License**

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

---

## **Contact**

For any questions or feedback, feel free to reach out on GitHub.
32 changes: 32 additions & 0 deletions _includes/navbar.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<div class="toolbar tabbar-icons toolbar-bottom">
<div class="toolbar-inner">
<a href="/wealth.html" class="tab-link tab-link-active">
<!-- iOS Icon -->
<i class="icon f7-icons if-not-md">money_dollar_circle_fill</i>
<!-- Material Design Icon -->
<i class="icon material-icons md-only">attach_money</i>
<span class="tabbar-label">Vermögen</span>
</a>
<a href="/provisions.html" class="tab-link">
<!-- iOS Icon -->
<i class="icon f7-icons if-not-md">money_euro_circle_fill</i>
<!-- Material Design Icon -->
<i class="icon material-icons md-only">euro</i>
<span class="tabbar-label">Rückstellungen</span>
</a>
<a href="/assets.html" class="tab-link">
<!-- iOS Icon -->
<i class="icon f7-icons if-not-md">chart_bar</i>
<!-- Material Design Icon -->
<i class="icon material-icons md-only">bar_chart</i>
<span class="tabbar-label">Anlagen</span>
</a>
<a href="/retirement.html" class="tab-link">
<!-- iOS Icon -->
<i class="icon f7-icons if-not-md">building_2_fill</i>
<!-- Material Design Icon -->
<i class="icon material-icons md-only">business</i>
<span class="tabbar-label">Vorsorge</span>
</a>
</div>
</div>
41 changes: 41 additions & 0 deletions _layouts/default.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="icon" type="image/x-icon" href="/assets/images/favicon.ico">
<link rel="manifest" href="/manifest.json" />
<link rel="stylesheet" href="https://unpkg.com/framework7/framework7-bundle.min.css" />
<link rel="stylesheet" href="https://unpkg.com/framework7-icons/css/framework7-icons.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<script src="https://unpkg.com/framework7/framework7-bundle.min.js"></script>
<title>{{ page.title }}</title>
</head>
<body>
<div class="page dark">
<div class="navbar">
<div class="navbar-bg"></div>
<div class="navbar-inner sliding">
<div class="title">{{ page.title }}</div>
<div class="right"></div>
</div>
</div>
{% include navbar.html %}
<div class="tabs">
<div class="page-content tab tab-active" id="tab-1">
<div class="block">
<main>
{{ content }}
</main>
</div>
</div>
</div>
</div>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/assets/js/service-worker.js')
.then(() => console.log('Service Worker Registered'));
}
</script>
</body>
</html>
6 changes: 6 additions & 0 deletions assets.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
layout: default
title: Anlagen
---

<p>Content for Anlagen goes here.</p>
Binary file added assets/images/favicon-192x192.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/favicon-512x512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/favicon.ico
Binary file not shown.
27 changes: 27 additions & 0 deletions assets/js/service-worker.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
const cacheName = 'tirkio-cache-v1';
const resourcesToCache = [
'/',
'/wealth.html',
'/provisions.html',
'/assets.html',
'/retirement.html',
'/assets/css/style.css',
'/assets/images/favicon-192x192.png',
'/assets/images/favicon-512x512.png'
];

self.addEventListener('install', (event) => {
event.waitUntil(
caches.open(cacheName).then((cache) => {
return cache.addAll(resourcesToCache);
})
);
});

self.addEventListener('fetch', (event) => {
event.respondWith(
caches.match(event.request).then((response) => {
return response || fetch(event.request);
})
);
});
7 changes: 7 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
layout: default
title: Home
---

<h1>Welcome to My Jekyll PWA</h1>
<p>Use the menu below to navigate through the app.</p>
20 changes: 20 additions & 0 deletions manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"name": "Tirkio Finance",
"short_name": "Tirkio",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#333333",
"icons": [
{
"src": "/assets/images/favicon-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/assets/images/favicon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}
6 changes: 6 additions & 0 deletions provisions.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
layout: default
title: Rückstellungen
---

<p>Content for Rückstellungen goes here.</p>
6 changes: 6 additions & 0 deletions retirement.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
layout: default
title: Vorsorge
---

<p>Content for Vorsorge goes here.</p>
6 changes: 6 additions & 0 deletions wealth.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
layout: default
title: Vermögen
---

<p>Content for Vermögen goes here.</p>

0 comments on commit d5e857a

Please sign in to comment.