Skip to content

Commit 373c713

Browse files
committed
Merge branch 'angular-dev' of https://github.com/devnamdev2003/ExpenseWise
2 parents 957984d + f05d255 commit 373c713

61 files changed

Lines changed: 3225 additions & 736 deletions

File tree

Some content is hidden

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

README.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ Allows users to add new expense entries through a form. Input fields include:
3939
* 📅 **Date & Time**
4040
* 🏷️ **Category** (chosen from a dropdown list)
4141
* 💳 **Payment Mode**
42-
* 📍 **Location**
43-
* 📝 **Note**
42+
* 📍 **Location** (chosen from a dropdown list or manually typed)
43+
* 📝 **Note** (chosen from a dropdown list or manually typed)
4444
* 💡 **Extra Spending**
4545

4646
All expenses are stored in the device's **LocalStorage** and reflected immediately in graphs and listings.
@@ -52,6 +52,14 @@ All expenses are stored in the device's **LocalStorage** and reflected immediate
5252
* Users can view a **monthly calendar** to explore expenses on specific dates.
5353
* Tap any date to open a **popup modal** displaying all expenses for that day.
5454
* Navigate across **months and years** to view past or future expenses.
55+
* Toggle the Show HeatMap switch to highlight each day based on spending intensity.
56+
* Days are color-coded based on spending thresholds (e.g. No expense, < threshold, between thresholds, > threshold) for quick insights.
57+
* Users can now **customize the threshold amounts** for each heatmap color:
58+
* **Red (Rose)** – default > ₹1000
59+
* **Yellow (Amber)** – default ₹500 - 1000
60+
* **Green (Emerald)** – default < ₹500
61+
* A **summary table** displays each color, the number of days, the total expense, and an **Edit button** for updating the thresholds.
62+
* Editing allows users to set a new amount for the corresponding color, immediately updating the heatmap visualization.
5563

5664
---
5765

@@ -87,7 +95,7 @@ All expenses are stored in the device's **LocalStorage** and reflected immediate
8795
Provides customization and utility options for better personalization:
8896

8997
* 🎨 **Theme Mode Toggle** (Dark / Light)
90-
* ⬇️ **Download Data** (export expenses data in pdf, json, excel formats)
98+
* ⬇️ **Download Data** (export expenses data in pdf, json, excel formats. between the selected date range)
9199
* 📤 **Import Data** (upload expense data)
92100
***Add Category** (custom categories for better organization)
93101
***Delete Category** (remove unused or incorrect categories)

dev.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,13 @@ compodoc -s
3131
# Build for production
3232
ng build --configuration production
3333
# or
34-
ng build --prod
34+
ng build --prod
35+
36+
37+
## Create a Component
38+
39+
ng g c component-name
40+
41+
## Create a Service
42+
43+
ng g s service-name

documentation/components/AppComponent.html

Lines changed: 17 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -229,12 +229,6 @@ <h6><b>Properties</b></h6>
229229
<li>
230230
<a href="#deferredPrompt" >deferredPrompt</a>
231231
</li>
232-
<li>
233-
<a href="#isExpenseRoute" >isExpenseRoute</a>
234-
</li>
235-
<li>
236-
<a href="#isMusicRoute" >isMusicRoute</a>
237-
</li>
238232
<li>
239233
<a href="#showInstallButton" >showInstallButton</a>
240234
</li>
@@ -308,7 +302,7 @@ <h3 id="constructor">Constructor</h3>
308302
</tr>
309303
<tr>
310304
<td class="col-md-4">
311-
<div class="io-line">Defined in <a href="" data-line="47" class="link-to-prism">src/app/app.component.ts:47</a></div>
305+
<div class="io-line">Defined in <a href="" data-line="37" class="link-to-prism">src/app/app.component.ts:37</a></div>
312306
</td>
313307
</tr>
314308

@@ -461,8 +455,8 @@ <h3>HostListeners</h3> <table class="table table-sm table-bordered">
461455

462456
<tr>
463457
<td class="col-md-4">
464-
<div class="io-line">Defined in <a href="" data-line="122"
465-
class="link-to-prism">src/app/app.component.ts:122</a></div>
458+
<div class="io-line">Defined in <a href="" data-line="112"
459+
class="link-to-prism">src/app/app.component.ts:112</a></div>
466460
</td>
467461
</tr>
468462

@@ -532,8 +526,8 @@ <h3 id="methods">
532526

533527
<tr>
534528
<td class="col-md-4">
535-
<div class="io-line">Defined in <a href="" data-line="130"
536-
class="link-to-prism">src/app/app.component.ts:130</a></div>
529+
<div class="io-line">Defined in <a href="" data-line="120"
530+
class="link-to-prism">src/app/app.component.ts:120</a></div>
537531
</td>
538532
</tr>
539533

@@ -575,8 +569,8 @@ <h3 id="methods">
575569

576570
<tr>
577571
<td class="col-md-4">
578-
<div class="io-line">Defined in <a href="" data-line="147"
579-
class="link-to-prism">src/app/app.component.ts:147</a></div>
572+
<div class="io-line">Defined in <a href="" data-line="137"
573+
class="link-to-prism">src/app/app.component.ts:137</a></div>
580574
</td>
581575
</tr>
582576

@@ -614,8 +608,8 @@ <h3 id="methods">
614608

615609
<tr>
616610
<td class="col-md-4">
617-
<div class="io-line">Defined in <a href="" data-line="140"
618-
class="link-to-prism">src/app/app.component.ts:140</a></div>
611+
<div class="io-line">Defined in <a href="" data-line="130"
612+
class="link-to-prism">src/app/app.component.ts:130</a></div>
619613
</td>
620614
</tr>
621615

@@ -657,8 +651,8 @@ <h3 id="methods">
657651

658652
<tr>
659653
<td class="col-md-4">
660-
<div class="io-line">Defined in <a href="" data-line="74"
661-
class="link-to-prism">src/app/app.component.ts:74</a></div>
654+
<div class="io-line">Defined in <a href="" data-line="64"
655+
class="link-to-prism">src/app/app.component.ts:64</a></div>
662656
</td>
663657
</tr>
664658

@@ -706,8 +700,8 @@ <h3 id="methods">
706700

707701
<tr>
708702
<td class="col-md-4">
709-
<div class="io-line">Defined in <a href="" data-line="122"
710-
class="link-to-prism">src/app/app.component.ts:122</a></div>
703+
<div class="io-line">Defined in <a href="" data-line="112"
704+
class="link-to-prism">src/app/app.component.ts:112</a></div>
711705
</td>
712706
</tr>
713707

@@ -782,37 +776,6 @@ <h3 id="inputs">
782776
<i>Type : </i> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
783777

784778
</td>
785-
</tr>
786-
<tr>
787-
<td class="col-md-4">
788-
<div class="io-line">Defined in <a href="" data-line="42" class="link-to-prism">src/app/app.component.ts:42</a></div>
789-
</td>
790-
</tr>
791-
792-
<tr>
793-
<td class="col-md-4">
794-
<div class="io-description"><p> PWA installation prompt event</p>
795-
</div>
796-
</td>
797-
</tr>
798-
799-
</tbody>
800-
</table>
801-
<table class="table table-sm table-bordered">
802-
<tbody>
803-
<tr>
804-
<td class="col-md-4">
805-
<a name="isExpenseRoute"></a>
806-
<span class="name">
807-
<span ><b>isExpenseRoute</b></span>
808-
<a href="#isExpenseRoute"><span class="icon ion-ios-link"></span></a>
809-
</span>
810-
</td>
811-
</tr>
812-
<tr>
813-
<td class="col-md-4">
814-
<i>Default value : </i><code>false</code>
815-
</td>
816779
</tr>
817780
<tr>
818781
<td class="col-md-4">
@@ -822,38 +785,7 @@ <h3 id="inputs">
822785

823786
<tr>
824787
<td class="col-md-4">
825-
<div class="io-description"><p>Boolean indicating whether the current route is the root/expenses page.</p>
826-
</div>
827-
</td>
828-
</tr>
829-
830-
</tbody>
831-
</table>
832-
<table class="table table-sm table-bordered">
833-
<tbody>
834-
<tr>
835-
<td class="col-md-4">
836-
<a name="isMusicRoute"></a>
837-
<span class="name">
838-
<span ><b>isMusicRoute</b></span>
839-
<a href="#isMusicRoute"><span class="icon ion-ios-link"></span></a>
840-
</span>
841-
</td>
842-
</tr>
843-
<tr>
844-
<td class="col-md-4">
845-
<i>Default value : </i><code>false</code>
846-
</td>
847-
</tr>
848-
<tr>
849-
<td class="col-md-4">
850-
<div class="io-line">Defined in <a href="" data-line="37" class="link-to-prism">src/app/app.component.ts:37</a></div>
851-
</td>
852-
</tr>
853-
854-
<tr>
855-
<td class="col-md-4">
856-
<div class="io-description"><p>Boolean indicating whether the current route is the music page.</p>
788+
<div class="io-description"><p> PWA installation prompt event</p>
857789
</div>
858790
</td>
859791
</tr>
@@ -878,7 +810,7 @@ <h3 id="inputs">
878810
</tr>
879811
<tr>
880812
<td class="col-md-4">
881-
<div class="io-line">Defined in <a href="" data-line="47" class="link-to-prism">src/app/app.component.ts:47</a></div>
813+
<div class="io-line">Defined in <a href="" data-line="37" class="link-to-prism">src/app/app.component.ts:37</a></div>
882814
</td>
883815
</tr>
884816

@@ -911,7 +843,7 @@ <h3 id="inputs">
911843
</tr>
912844
<tr>
913845
<td class="col-md-4">
914-
<div class="io-line">Defined in <a href="" data-line="61" class="link-to-prism">src/app/app.component.ts:61</a></div>
846+
<div class="io-line">Defined in <a href="" data-line="51" class="link-to-prism">src/app/app.component.ts:51</a></div>
915847
</td>
916848
</tr>
917849

@@ -957,16 +889,6 @@ <h3 id="inputs">
957889
styleUrls: [&#x27;./app.component.css&#x27;]
958890
})
959891
export class AppComponent {
960-
/**
961-
* Boolean indicating whether the current route is the root/expenses page.
962-
*/
963-
isExpenseRoute &#x3D; false;
964-
965-
/**
966-
* Boolean indicating whether the current route is the music page.
967-
*/
968-
isMusicRoute &#x3D; false;
969-
970892
/**
971893
* PWA installation prompt event
972894
*/
@@ -1106,21 +1028,7 @@ <h3 id="inputs">
11061028
<p class="comment">
11071029
<code>./app.component.css</code>
11081030
</p>
1109-
<pre class="line-numbers"><code class="language-scss">.mobile-slide-up {
1110-
animation: slideUp 0.3s ease-out forwards;
1111-
}
1112-
1113-
@keyframes slideUp {
1114-
from {
1115-
transform: translateY(100%);
1116-
opacity: 0;
1117-
}
1118-
1119-
to {
1120-
transform: translateY(0);
1121-
opacity: 1;
1122-
}
1123-
}</code></pre>
1031+
<pre class="line-numbers"><code class="language-scss"></code></pre>
11241032
</div>
11251033

11261034
<div class="tab-pane fade " id="tree">

0 commit comments

Comments
 (0)