Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2.3.1 #164

Merged
merged 39 commits into from
Dec 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
bf76dba
Update README.md
chrisK00 Sep 8, 2023
734c545
Update README.md
chrisK00 Sep 8, 2023
f3121c7
revert version
chrisK00 Sep 8, 2023
e48440e
Merge branch 'dev' of https://github.com/Code2Gether-Discord/subtrack…
chrisK00 Sep 8, 2023
8a6ccc5
revert comments
chrisK00 Sep 8, 2023
0251083
companyname
chrisK00 Sep 8, 2023
c22f5c5
Update README.md
chrisK00 Sep 8, 2023
082ff1b
#114 Implemented CssUtil.GetDueClass & tests (#123)
kgrontis Sep 9, 2023
3ea6965
#115 Added call to GetDueClass method in monthly page. (#124)
kgrontis Sep 10, 2023
dc05c78
add mockups for icons and colors
chrisK00 Sep 11, 2023
6928bff
Adds font color to due period depending on severity. (#126)
denislavh Sep 12, 2023
13b3b92
Preserves newline in subscription description (#131)
ashwin003 Sep 15, 2023
3d8fb39
Introduces subscription background color. (#135)
ashwin003 Sep 17, 2023
38dbfa6
#128 make labels less visible (#136)
kgrontis Sep 18, 2023
f8a6c73
#125 Added US Culture as a constant (#144)
kgrontis Sep 20, 2023
559778d
#142 Fixed descriptions not displayed correctly. (#145)
kgrontis Sep 21, 2023
b8f2dde
update roadmap
chrisK00 Sep 24, 2023
31a9a85
make nav buttons larger and remove outline on back save and edit butt…
Penguine-Os Sep 24, 2023
6894495
.net 8 roadmap
chrisK00 Sep 24, 2023
576ace3
Adds subscription icon and secondary color (#149)
ashwin003 Sep 29, 2023
b3bb61d
fix flaky test
chrisK00 Nov 1, 2023
8e81ec3
Revert "fix flaky test"
chrisK00 Nov 1, 2023
8b55ca5
Feature/improve subscription card design poc (#150)
chrisK00 Nov 1, 2023
0c0f584
roadmap
chrisK00 Nov 1, 2023
351ecdb
merge master
chrisK00 Nov 1, 2023
7db53db
order by year (#154)
chrisK00 Nov 5, 2023
624ae85
Merge branch 'master' into dev
chrisK00 Nov 5, 2023
9aa8125
readme merge master
chrisK00 Nov 5, 2023
5dd9e14
fix
chrisK00 Nov 5, 2023
3f17c88
return url on delete
chrisK00 Nov 5, 2023
16b85cd
Update README.md
chrisK00 Nov 6, 2023
387e0a1
Creates a settings page with controls for importing and exporting sub…
ashwin003 Nov 7, 2023
fc4b06a
Implement exporting subscriptions (#158)
chrisK00 Dec 2, 2023
f4736c7
#147 Changed status bar color for android. (#159)
kgrontis Dec 5, 2023
f27c4e5
net 7 (#160)
chrisK00 Dec 6, 2023
b63f259
Implement Importing subscriptions (#161)
chrisK00 Dec 7, 2023
c671e83
added lastsubexporttime (#162)
chrisK00 Dec 11, 2023
4f781b2
Merge branch 'master' into dev
chrisK00 Dec 11, 2023
104d23e
roadmap
chrisK00 Dec 11, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading