Skip to content

Commit

Permalink
Release 2.3.1 (#164)
Browse files Browse the repository at this point in the history
* Update README.md

* Update README.md

* revert version

* revert comments

* companyname

* Update README.md

* #114 Implemented CssUtil.GetDueClass & tests (#123)

* #114 Implemented CssUtil.GetDueClass & tests

* #114 Added semicolor to css rule

* #114 Changed placement of css rule.

* #114 removed dots from string result.

* #114 PR review changes.

* #115 Added call to GetDueClass method in monthly page. (#124)

* add mockups for icons and colors

* Adds font color to due period depending on severity. (#126)

* Adds font color to due period depending on severity.

* Returns text-end class for Index page.

* Preserves newline in subscription description (#131)

* Introduces subscription background color. (#135)

* Adds background color to the database

* Adds a control to select background color for a subscription

* Updates tests to include background color

* Updates migration scripts

* Update subtrack.MAUI/Utilities/CssUtil.cs

Co-authored-by: chrisK00 <[email protected]>

* Minor updates

* Update subtrack.MAUI/Pages/UpsertSubscription.razor

Co-authored-by: chrisK00 <[email protected]>

* Update subtrack.MAUI/Pages/UpsertSubscription.razor

Co-authored-by: chrisK00 <[email protected]>

* Update subtrack.MAUI/Pages/UpsertSubscription.razor

Co-authored-by: chrisK00 <[email protected]>

* Update subtrack.MAUI/Pages/UpsertSubscription.razor

Co-authored-by: chrisK00 <[email protected]>

* Minor adjustments

---------

Co-authored-by: chrisK00 <[email protected]>

* #128 make labels less visible (#136)

* #128 make labels less visible

* Update subtrack.MAUI/wwwroot/css/app.css

Co-authored-by: chrisK00 <[email protected]>

* Update subtrack.MAUI/Pages/SubscriptionDetails.razor

Co-authored-by: chrisK00 <[email protected]>

* Update subtrack.MAUI/Pages/SubscriptionDetails.razor

Co-authored-by: chrisK00 <[email protected]>

* Update subtrack.MAUI/Pages/SubscriptionDetails.razor

Co-authored-by: chrisK00 <[email protected]>

* Update subtrack.MAUI/Pages/SubscriptionDetails.razor

Co-authored-by: chrisK00 <[email protected]>

* Update subtrack.MAUI/Pages/SubscriptionDetails.razor

Co-authored-by: chrisK00 <[email protected]>

---------

Co-authored-by: chrisK00 <[email protected]>

* #125 Added US Culture as a constant (#144)

* #142 Fixed descriptions not displayed correctly. (#145)

* update roadmap

* make nav buttons larger and remove outline on back save and edit buttons (#143)

* btn outline => btn filled

* navbar simplification

* resolve comments

* format and remove non existing css class

* remove default styling

---------

Co-authored-by: ChrisK00 <[email protected]>
Co-authored-by: chrisK00 <[email protected]>

* Adds subscription icon and secondary color (#149)

* Adds database columns for icon and secondary color

* Adds controls for saving icon and secondary color for subscriptions

* Use subscription icon and secondary colors in the UI

* Updates migration scripts

* Minor updates to UI

* Minor UI updates

* Updates subscription details title

* Updates subscription details title

* fix flaky test

* Revert "fix flaky test"

This reverts commit b3bb61d.

* Feature/improve subscription card design poc (#150)

* fix create sub bug. New style for cards. use dot instead of comma

* fix overflow color picker input. fix currency on index showing on newline

* fix flaky test

* fix flaky test

* roadmap

* order by year (#154)

* readme merge master

* fix

* return url on delete

* Update README.md

* Creates a settings page with controls for importing and exporting subscriptions (#157)

* Implement exporting subscriptions (#158)

* export subs

* update roadmap

* Update dotnet.yml

* do not target IOS

* Update dotnet.yml

* global.json

* more permissive .net 7 sdk

* #147 Changed status bar color for android. (#159)

* net 7 (#160)

* Implement Importing subscriptions (#161)

* added lastsubexporttime (#162)

* roadmap

---------

Co-authored-by: Konstantinos Grontis <[email protected]>
Co-authored-by: denislavh <[email protected]>
Co-authored-by: Ashwin Thyagarajan <[email protected]>
Co-authored-by: Penguine-Os <[email protected]>
  • Loading branch information
5 people authored Dec 11, 2023
1 parent a1a64dc commit 756c171
Show file tree
Hide file tree
Showing 26 changed files with 413 additions and 32 deletions.
13 changes: 12 additions & 1 deletion .github/workflows/dotnet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,25 @@ jobs:
runs-on: windows-2022

steps:
- uses: actions/setup-java@v2
with:
distribution: 'microsoft'
java-version: '11'

- uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 6.0.x
dotnet-version: 8.0.x

- name: Restore workload
run: dotnet workload restore

- name: Restore dependencies
run: dotnet restore

- name: Build
run: dotnet build --no-restore

- name: Test
run: dotnet test --no-build --verbosity normal
7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ Keep track of what subscriptions you have, when they have to be paid and how muc
## Running the project
The project itself currently does not require any configuration at all. On startup data is seeded to a locally stored sqlite database.

Before preceding make sure you have installed ".NET Multi-platform App UI development" in the visual studio installer
Before preceding make sure you have installed ".NET Multi-platform App UI development" in the visual studio installer. Also ensure you have a .NET 8 SDK installed `dotnet --list-sdks`.

<img src="https://i.postimg.cc/BnGYRhFy/vs-workloads.png)](https://postimg.cc/vc3tVt3L" width="450" height="250">

1. To begin with we only have a mobile app and we focus on making the design and functionality work for Android. You do not need an android phone to actually run the project but you do need to enable **Hyper-V** on your PC https://learn.microsoft.com/en-us/xamarin/android/get-started/installation/android-emulator/hardware-acceleration?pivots=windows. You also need to enable developer mode on your PC https://www.c-sharpcorner.com/blogs/dep0100-please-ensure-that-target-device-has-developer-mode-enabled.
2. After enabling Hyper-V you can run the project with the **Android emulator** (built in to VS) - I am using a **Pixel 5 - API 31 (Android 12.0)** since that was default. You can add the device by opening the **Android Device Manager** inside VS
2. After enabling Hyper-V you can run the project with the **Android emulator** (built in to VS) - I am using a **Pixel 5 - API 33 (Android 13.0)** since that was default. You can add the device by opening the **Android Device Manager** inside VS

*Note that you can run the project without the android emulator as long as you won't be making any UI changes, alternatively tell someone else to verify the UI looks ok*

Expand Down Expand Up @@ -74,7 +74,6 @@ After making changes to any entity you need to add a migration and update the da
- Upload the APK release to Github
- The version should be prefixed with a **"v"** and suffix of (app stage which is currently alpha 2/9-2023) **"-alpha"**
- Should contain notable changes/features that were added
- Should display the contributors


# Roadmap 2023
![Roadmap 2023](docs/roadmap.png?)
20 changes: 13 additions & 7 deletions docs/roadmap.drawio
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<mxfile host="65bd71144e">
<diagram id="0sBSfLOzs08FeBCRcvm6" name="2023">
<mxGraphModel dx="1556" dy="413" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<mxGraphModel dx="1850" dy="485" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
Expand Down Expand Up @@ -74,7 +74,7 @@
</mxGeometry>
</mxCell>
<mxCell id="31" value="Push notifications" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;labelBorderColor=none;strokeColor=#D154D1;strokeWidth=2;fontColor=#030303;fillColor=#FFFFFF;" parent="1" vertex="1">
<mxGeometry x="433" y="330" width="89" height="33" as="geometry"/>
<mxGeometry x="438" y="270" width="89" height="33" as="geometry"/>
</mxCell>
<mxCell id="32" style="edgeStyle=none;rounded=1;html=1;strokeColor=default;fontColor=#030303;endArrow=none;endFill=0;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
Expand Down Expand Up @@ -113,7 +113,7 @@
</mxGeometry>
</mxCell>
<mxCell id="43" value="Audit log - payments history" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;labelBorderColor=none;strokeColor=#D154D1;strokeWidth=2;fontColor=#030303;fillColor=#FFFFFF;" parent="1" vertex="1">
<mxGeometry x="437" y="274" width="117" height="30" as="geometry"/>
<mxGeometry x="433" y="330" width="117" height="30" as="geometry"/>
</mxCell>
<mxCell id="44" style="edgeStyle=none;rounded=1;html=1;strokeColor=default;fontColor=#030303;endArrow=none;endFill=0;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
Expand All @@ -122,7 +122,7 @@
</mxGeometry>
</mxCell>
<mxCell id="45" value="Startpage filtering and ordering" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;labelBorderColor=none;strokeColor=#D154D1;strokeWidth=2;fontColor=#030303;fillColor=#FFFFFF;" parent="1" vertex="1">
<mxGeometry x="242.5" y="300" width="115.5" height="40" as="geometry"/>
<mxGeometry x="244.5" y="350" width="115.5" height="40" as="geometry"/>
</mxCell>
<mxCell id="46" style="edgeStyle=none;rounded=1;html=1;strokeColor=default;fontColor=#030303;endArrow=none;endFill=0;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
Expand All @@ -148,18 +148,24 @@
<mxCell id="52" value="" style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;align=center;verticalAlign=top;fillColor=#2D9C5E;shape=mxgraph.gcp2.check" parent="1" vertex="1">
<mxGeometry x="242.5" y="198" width="25" height="20" as="geometry"/>
</mxCell>
<mxCell id="55" value=".NET 8" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;labelBorderColor=none;strokeColor=#D154D1;strokeWidth=2;fontColor=#030303;fillColor=#FFFFFF;" parent="1" vertex="1">
<mxGeometry x="306" y="352" width="54.75" height="33" as="geometry"/>
<mxCell id="55" value=".NET &lt;strike&gt;8&lt;/strike&gt; 7" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;labelBorderColor=none;strokeColor=#D154D1;strokeWidth=2;fontColor=#030303;fillColor=#FFFFFF;" parent="1" vertex="1">
<mxGeometry x="305.25" y="304" width="54.75" height="33" as="geometry"/>
</mxCell>
<mxCell id="57" style="edgeStyle=none;rounded=1;html=1;strokeColor=default;fontColor=#030303;endArrow=none;endFill=0;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="401" y="366.99999999999994" as="targetPoint"/>
<mxPoint x="360.99999999999955" y="366.99999999999994" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="60" value="" style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;align=center;verticalAlign=top;fillColor=#2D9C5E;shape=mxgraph.gcp2.check" vertex="1" parent="1">
<mxCell id="60" value="" style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;align=center;verticalAlign=top;fillColor=#2D9C5E;shape=mxgraph.gcp2.check" parent="1" vertex="1">
<mxGeometry x="425" y="206.5" width="25" height="20" as="geometry"/>
</mxCell>
<mxCell id="61" value="" style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;align=center;verticalAlign=top;fillColor=#2D9C5E;shape=mxgraph.gcp2.check" parent="1" vertex="1">
<mxGeometry x="292.5" y="304" width="25" height="20" as="geometry"/>
</mxCell>
<mxCell id="62" value="" style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;align=center;verticalAlign=top;fillColor=#2D9C5E;shape=mxgraph.gcp2.check" vertex="1" parent="1">
<mxGeometry x="260" y="250" width="25" height="20" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
Expand Down
Binary file modified docs/roadmap.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions global.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"sdk": {
"version": "7.0.100",
"rollForward": "latestMajor"
}
}
1 change: 1 addition & 0 deletions subtrack.DAL/Entities/DateTimeSetting.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
public class DateTimeSetting : SettingsBase
{
public const string LastAutoPaymentTimeStampKey = "LastAutoPaymentTimeStamp";
public const string LastSubscriptionExportTimeStampKey = "LastSubscriptionExportTimeStamp";
public DateTime? Value { get; set; }
}
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
using Microsoft.EntityFrameworkCore.Migrations;

#nullable disable

namespace subtrack.DAL.Migrations
{
/// <inheritdoc />
public partial class LastSubscriptionExportTimeStamp : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.InsertData(
table: "Settings",
columns: new[] { "Id", "Value", "settings_type" },
values: new object[] { "LastSubscriptionExportTimeStamp", null, "DateTimeSetting" });
}

/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DeleteData(
table: "Settings",
keyColumn: "Id",
keyValue: "LastSubscriptionExportTimeStamp");
}
}
}
8 changes: 7 additions & 1 deletion subtrack.DAL/Migrations/SubtrackDbContextModelSnapshot.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ partial class SubtrackDbContextModelSnapshot : ModelSnapshot
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "6.0.18");
modelBuilder.HasAnnotation("ProductVersion", "7.0.14");

modelBuilder.Entity("subtrack.DAL.Entities.SettingsBase", b =>
{
Expand All @@ -31,6 +31,8 @@ protected override void BuildModel(ModelBuilder modelBuilder)
b.ToTable("Settings");
b.HasDiscriminator<string>("settings_type").HasValue("SettingsBase");
b.UseTphMappingStrategy();
});

modelBuilder.Entity("subtrack.DAL.Entities.Subscription", b =>
Expand Down Expand Up @@ -98,6 +100,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
new
{
Id = "LastAutoPaymentTimeStamp"
},
new
{
Id = "LastSubscriptionExportTimeStamp"
});
});
#pragma warning restore 612, 618
Expand Down
1 change: 1 addition & 0 deletions subtrack.DAL/SubtrackDbContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasValue<DateTimeSetting>(nameof(DateTimeSetting));

modelBuilder.Entity<DateTimeSetting>().HasData(new DateTimeSetting { Id = DateTimeSetting.LastAutoPaymentTimeStampKey, Value = null });
modelBuilder.Entity<DateTimeSetting>().HasData(new DateTimeSetting { Id = DateTimeSetting.LastSubscriptionExportTimeStampKey, Value = null });

modelBuilder.Entity<Subscription>(entity =>
{
Expand Down
8 changes: 4 additions & 4 deletions subtrack.DAL/subtrack.DAL.csproj
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.18" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.18" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.18">
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.14" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="7.0.14" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.14">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
Expand Down
1 change: 1 addition & 0 deletions subtrack.MAUI/MauiProgram.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ public static IServiceCollection AddSubtrackServices(this IServiceCollection ser
services
.AddDbContext<SubtrackDbContext>(opt => opt.UseSqlite(dbConnectionString))
.AddScoped<ISubscriptionService, SubscriptionService>()
.AddScoped<ISubscriptionsImporter, SubscriptionsImporter>()
.AddScoped<IDateProvider, DateProvider>()
.AddScoped<ISubscriptionsCalculator, SubscriptionsCalculator>()
.AddScoped<ISettingsService, SettingsService>()
Expand Down
Loading

0 comments on commit 756c171

Please sign in to comment.