From 44f456eb293c8edc3427bb0a1c742c0e095862ad Mon Sep 17 00:00:00 2001 From: Guilherme Gaspar Date: Mon, 23 Mar 2026 17:42:36 +0000 Subject: [PATCH] Guilhermes --- .gitignore | 2 + GuilhermesApp/App.xaml | 14 + GuilhermesApp/App.xaml.cs | 14 + GuilhermesApp/AppShell.xaml | 30 ++ GuilhermesApp/AppShell.xaml.cs | 18 + GuilhermesApp/GuilhermesApp.csproj | 72 +++ GuilhermesApp/GuilhermesApp.csproj.user | 6 + GuilhermesApp/GuilhermesApp.sln | 24 + GuilhermesApp/Helpers/FirebaseService.cs | 27 ++ GuilhermesApp/MainPage.xaml | 36 ++ GuilhermesApp/MainPage.xaml.cs | 23 + GuilhermesApp/MauiProgram.cs | 24 + GuilhermesApp/Pages/ChatPage.xaml | 20 + GuilhermesApp/Pages/ChatPage.xaml.cs | 94 ++++ GuilhermesApp/Pages/FormsHistoryPage.xaml | 33 ++ GuilhermesApp/Pages/FormsHistoryPage.xaml.cs | 83 ++++ GuilhermesApp/Pages/FormsMenuPage.xaml | 16 + GuilhermesApp/Pages/FormsMenuPage.xaml.cs | 19 + GuilhermesApp/Pages/LoginPage.xaml | 32 ++ GuilhermesApp/Pages/LoginPage.xaml.cs | 42 ++ GuilhermesApp/Pages/NewFormPage.xaml | 51 ++ GuilhermesApp/Pages/NewFormPage.xaml.cs | 56 +++ GuilhermesApp/Pages/ProfilePage.xaml | 24 + GuilhermesApp/Pages/ProfilePage.xaml.cs | 70 +++ GuilhermesApp/Pages/RegisterPage.xaml | 36 ++ GuilhermesApp/Pages/RegisterPage.xaml.cs | 68 +++ GuilhermesApp/Pages/SensorPage.xaml | 27 ++ GuilhermesApp/Pages/SensorPage.xaml.cs | 83 ++++ .../Platforms/Android/AndroidManifest.xml | 6 + .../Platforms/Android/MainActivity.cs | 10 + .../Platforms/Android/MainApplication.cs | 15 + .../Android/Resources/values/colors.xml | 6 + .../Platforms/MacCatalyst/AppDelegate.cs | 9 + .../Platforms/MacCatalyst/Entitlements.plist | 14 + .../Platforms/MacCatalyst/Info.plist | 38 ++ .../Platforms/MacCatalyst/Program.cs | 15 + GuilhermesApp/Platforms/Tizen/Main.cs | 16 + .../Platforms/Tizen/tizen-manifest.xml | 15 + GuilhermesApp/Platforms/Windows/App.xaml | 8 + GuilhermesApp/Platforms/Windows/App.xaml.cs | 24 + .../Platforms/Windows/Package.appxmanifest | 46 ++ GuilhermesApp/Platforms/Windows/app.manifest | 15 + GuilhermesApp/Platforms/iOS/AppDelegate.cs | 9 + GuilhermesApp/Platforms/iOS/Info.plist | 32 ++ GuilhermesApp/Platforms/iOS/Program.cs | 15 + .../iOS/Resources/PrivacyInfo.xcprivacy | 51 ++ GuilhermesApp/Properties/launchSettings.json | 8 + GuilhermesApp/Resources/AppIcon/appicon.svg | 4 + GuilhermesApp/Resources/AppIcon/appiconfg.svg | 8 + .../Resources/Fonts/OpenSans-Regular.ttf | Bin 0 -> 107304 bytes .../Resources/Fonts/OpenSans-Semibold.ttf | Bin 0 -> 111180 bytes GuilhermesApp/Resources/Images/dotnet_bot.png | Bin 0 -> 93437 bytes GuilhermesApp/Resources/Images/logo.png | Bin 0 -> 75301 bytes GuilhermesApp/Resources/Raw/AboutAssets.txt | 15 + GuilhermesApp/Resources/Splash/splash.svg | 8 + GuilhermesApp/Resources/Styles/Colors.xaml | 45 ++ GuilhermesApp/Resources/Styles/Styles.xaml | 440 ++++++++++++++++++ 57 files changed, 1916 insertions(+) create mode 100644 .gitignore create mode 100644 GuilhermesApp/App.xaml create mode 100644 GuilhermesApp/App.xaml.cs create mode 100644 GuilhermesApp/AppShell.xaml create mode 100644 GuilhermesApp/AppShell.xaml.cs create mode 100644 GuilhermesApp/GuilhermesApp.csproj create mode 100644 GuilhermesApp/GuilhermesApp.csproj.user create mode 100644 GuilhermesApp/GuilhermesApp.sln create mode 100644 GuilhermesApp/Helpers/FirebaseService.cs create mode 100644 GuilhermesApp/MainPage.xaml create mode 100644 GuilhermesApp/MainPage.xaml.cs create mode 100644 GuilhermesApp/MauiProgram.cs create mode 100644 GuilhermesApp/Pages/ChatPage.xaml create mode 100644 GuilhermesApp/Pages/ChatPage.xaml.cs create mode 100644 GuilhermesApp/Pages/FormsHistoryPage.xaml create mode 100644 GuilhermesApp/Pages/FormsHistoryPage.xaml.cs create mode 100644 GuilhermesApp/Pages/FormsMenuPage.xaml create mode 100644 GuilhermesApp/Pages/FormsMenuPage.xaml.cs create mode 100644 GuilhermesApp/Pages/LoginPage.xaml create mode 100644 GuilhermesApp/Pages/LoginPage.xaml.cs create mode 100644 GuilhermesApp/Pages/NewFormPage.xaml create mode 100644 GuilhermesApp/Pages/NewFormPage.xaml.cs create mode 100644 GuilhermesApp/Pages/ProfilePage.xaml create mode 100644 GuilhermesApp/Pages/ProfilePage.xaml.cs create mode 100644 GuilhermesApp/Pages/RegisterPage.xaml create mode 100644 GuilhermesApp/Pages/RegisterPage.xaml.cs create mode 100644 GuilhermesApp/Pages/SensorPage.xaml create mode 100644 GuilhermesApp/Pages/SensorPage.xaml.cs create mode 100644 GuilhermesApp/Platforms/Android/AndroidManifest.xml create mode 100644 GuilhermesApp/Platforms/Android/MainActivity.cs create mode 100644 GuilhermesApp/Platforms/Android/MainApplication.cs create mode 100644 GuilhermesApp/Platforms/Android/Resources/values/colors.xml create mode 100644 GuilhermesApp/Platforms/MacCatalyst/AppDelegate.cs create mode 100644 GuilhermesApp/Platforms/MacCatalyst/Entitlements.plist create mode 100644 GuilhermesApp/Platforms/MacCatalyst/Info.plist create mode 100644 GuilhermesApp/Platforms/MacCatalyst/Program.cs create mode 100644 GuilhermesApp/Platforms/Tizen/Main.cs create mode 100644 GuilhermesApp/Platforms/Tizen/tizen-manifest.xml create mode 100644 GuilhermesApp/Platforms/Windows/App.xaml create mode 100644 GuilhermesApp/Platforms/Windows/App.xaml.cs create mode 100644 GuilhermesApp/Platforms/Windows/Package.appxmanifest create mode 100644 GuilhermesApp/Platforms/Windows/app.manifest create mode 100644 GuilhermesApp/Platforms/iOS/AppDelegate.cs create mode 100644 GuilhermesApp/Platforms/iOS/Info.plist create mode 100644 GuilhermesApp/Platforms/iOS/Program.cs create mode 100644 GuilhermesApp/Platforms/iOS/Resources/PrivacyInfo.xcprivacy create mode 100644 GuilhermesApp/Properties/launchSettings.json create mode 100644 GuilhermesApp/Resources/AppIcon/appicon.svg create mode 100644 GuilhermesApp/Resources/AppIcon/appiconfg.svg create mode 100644 GuilhermesApp/Resources/Fonts/OpenSans-Regular.ttf create mode 100644 GuilhermesApp/Resources/Fonts/OpenSans-Semibold.ttf create mode 100644 GuilhermesApp/Resources/Images/dotnet_bot.png create mode 100644 GuilhermesApp/Resources/Images/logo.png create mode 100644 GuilhermesApp/Resources/Raw/AboutAssets.txt create mode 100644 GuilhermesApp/Resources/Splash/splash.svg create mode 100644 GuilhermesApp/Resources/Styles/Colors.xaml create mode 100644 GuilhermesApp/Resources/Styles/Styles.xaml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4b0d8f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/GuilhermesApp/bin +/GuilhermesApp/obj diff --git a/GuilhermesApp/App.xaml b/GuilhermesApp/App.xaml new file mode 100644 index 0000000..199fa79 --- /dev/null +++ b/GuilhermesApp/App.xaml @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/GuilhermesApp/App.xaml.cs b/GuilhermesApp/App.xaml.cs new file mode 100644 index 0000000..9659b0a --- /dev/null +++ b/GuilhermesApp/App.xaml.cs @@ -0,0 +1,14 @@ +namespace GuilhermesApp; + +public partial class App : Application +{ + public App() + { + InitializeComponent(); + } + + protected override Window CreateWindow(IActivationState? activationState) + { + return new Window(new AppShell()); + } +} \ No newline at end of file diff --git a/GuilhermesApp/AppShell.xaml b/GuilhermesApp/AppShell.xaml new file mode 100644 index 0000000..4497d1e --- /dev/null +++ b/GuilhermesApp/AppShell.xaml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GuilhermesApp/AppShell.xaml.cs b/GuilhermesApp/AppShell.xaml.cs new file mode 100644 index 0000000..da6bf6e --- /dev/null +++ b/GuilhermesApp/AppShell.xaml.cs @@ -0,0 +1,18 @@ +using GuilhermesApp.Pages; + +namespace GuilhermesApp; + +public partial class AppShell : Shell +{ + public AppShell() + { + InitializeComponent(); + + // Registar rotas para navegação + Routing.RegisterRoute(nameof(RegisterPage), typeof(RegisterPage)); + Routing.RegisterRoute(nameof(ProfilePage), typeof(ProfilePage)); + Routing.RegisterRoute(nameof(FormsHistoryPage), typeof(FormsHistoryPage)); + Routing.RegisterRoute(nameof(NewFormPage), typeof(NewFormPage)); + Routing.RegisterRoute(nameof(FormsMenuPage), typeof(FormsMenuPage)); + } +} \ No newline at end of file diff --git a/GuilhermesApp/GuilhermesApp.csproj b/GuilhermesApp/GuilhermesApp.csproj new file mode 100644 index 0000000..964aedb --- /dev/null +++ b/GuilhermesApp/GuilhermesApp.csproj @@ -0,0 +1,72 @@ + + + + true + + net9.0-android;net9.0-ios;net9.0-maccatalyst + $(TargetFrameworks);net9.0-windows10.0.19041.0 + + + + + + + Exe + GuilhermesApp + true + true + enable + enable + + + GuilhermesApp + + + com.companyname.guilhermesapp + + + 1.0 + 1 + + + None + + 15.0 + 15.0 + 21.0 + 10.0.17763.0 + 10.0.17763.0 + 6.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GuilhermesApp/GuilhermesApp.csproj.user b/GuilhermesApp/GuilhermesApp.csproj.user new file mode 100644 index 0000000..09e70e1 --- /dev/null +++ b/GuilhermesApp/GuilhermesApp.csproj.user @@ -0,0 +1,6 @@ + + + + net9.0-windows10.0.19041.0 + + \ No newline at end of file diff --git a/GuilhermesApp/GuilhermesApp.sln b/GuilhermesApp/GuilhermesApp.sln new file mode 100644 index 0000000..d0d3ba0 --- /dev/null +++ b/GuilhermesApp/GuilhermesApp.sln @@ -0,0 +1,24 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.2.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GuilhermesApp", "GuilhermesApp.csproj", "{375AEA15-E9B8-87B0-1ED4-3F429D79CEA1}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {375AEA15-E9B8-87B0-1ED4-3F429D79CEA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {375AEA15-E9B8-87B0-1ED4-3F429D79CEA1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {375AEA15-E9B8-87B0-1ED4-3F429D79CEA1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {375AEA15-E9B8-87B0-1ED4-3F429D79CEA1}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {478009F4-C3B4-4F0D-AD10-73A3DE68D439} + EndGlobalSection +EndGlobal diff --git a/GuilhermesApp/Helpers/FirebaseService.cs b/GuilhermesApp/Helpers/FirebaseService.cs new file mode 100644 index 0000000..5603f92 --- /dev/null +++ b/GuilhermesApp/Helpers/FirebaseService.cs @@ -0,0 +1,27 @@ +using Firebase.Auth; +using Firebase.Auth.Providers; +using Firebase.Database; + +namespace GuilhermesApp.Helpers; + +public class FirebaseService +{ + private const string WebApiKey = "AIzaSyBU367GLutI5FiXf5JvrwIMWu0jJoDGl9k"; + private const string DatabaseUrl = "https://guilhermesapp-default-rtdb.europe-west1.firebasedatabase.app/"; + + public FirebaseAuthClient AuthClient { get; private set; } + public FirebaseClient DbClient { get; private set; } + + public FirebaseService() + { + var config = new FirebaseAuthConfig + { + ApiKey = WebApiKey, + AuthDomain = "guilhermesapp.firebaseapp.com", + Providers = new FirebaseAuthProvider[] { new EmailProvider() } + }; + + AuthClient = new FirebaseAuthClient(config); + DbClient = new FirebaseClient(DatabaseUrl); + } +} \ No newline at end of file diff --git a/GuilhermesApp/MainPage.xaml b/GuilhermesApp/MainPage.xaml new file mode 100644 index 0000000..52244cd --- /dev/null +++ b/GuilhermesApp/MainPage.xaml @@ -0,0 +1,36 @@ + + + + + + + +