Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/scottlaing/record-vital-stats

Application to record users vital statistics like blood sugar, blood pressure, etc. C# windows .net core application with desktop front-end and web api back end. The Front end is WPF, back end is web api, uses JWT for authentication. Database support for postgres and sql server.
https://github.com/scottlaing/record-vital-stats

asp-net-core csharp dotnet-core jwt visual-studio web-api windows-desktop wpf

Last synced: 15 days ago
JSON representation

Application to record users vital statistics like blood sugar, blood pressure, etc. C# windows .net core application with desktop front-end and web api back end. The Front end is WPF, back end is web api, uses JWT for authentication. Database support for postgres and sql server.

Awesome Lists containing this project

README

        

# Record-Vital-Stats project

## Project Description

Record-Vital-Stats project is a windows desktop project to consume a web api, to save and retrieve vital stats. Both WPF front end and web api back end projects are included in the solution. The project is written in C# and can use a SQL Server or Postgres database for the stats. The project is being developed in Visual Studio 2022. Most projects are using .net core 6.0. Note: this is currently a windows application only, with a WPF front end. A later version may support Angular or a web front end also.

## Table of Contents

* [Project Description](#project-description)
* [Features](#features)
* [Installation and Setup](#installation)
* [Environment strings](#env)
* [Usage](#usage)
* [Contributing](#contributing)
* [License](#license)

## Project Description

The project is a windows desktop project to consume a web api, to save and retrieve vital stats. Early version of the project, lots of mods ongoing.

## Features (not all-inclusive)

* New User add/register window. (WPF)
* Login window. (WPF)
* Main window with menu. (WPF)
* Blood sugar entry window. (WPF)
* Blood sugar entries list window. (WPF)
* Blood pressure entry window. (WPF)
* Blood pressure entries list window. (WPF)
* Oxygen level entry window. (WPF)
* Oxygen level entries list window. (WPF)
* Notes entry page. (WPF)
* Notes list page. (WPF)
* Back end controllers for login and authentication. (asp.net, Web Api, .net core)
* Back end controllers for new entries. (asp.net, Web Api, .net core)
* Back end controllers getting previous entries lists. (asp.net, Web Api, .net core)
* Back end database inserts and lookups, CRUD. (C# library)
* Database tracking projects. (C# library)
* Site authentication tracking logic using JWT token. (asp.net Web Api, .net core)
* Profile window. (WPF)
* Logout functionality. (WPF)

## Installation and Setup

Dev Notes for installation and setup.

* Using Visual Studio full version is recommended, currently Visual Studio 2022.
* nuget libraries should self install during the build process.
* Install sql server or postgres for your database, depending on preference. Can use LocalDb for development also.
* Create a local database in SQL Server or Postgres. See the database scripts in the Database project.

## Usage

For local development you will need to:

* Modify the properties in your visual studio solution to have these as your startup projects: **RecordMyStats** (wpf front end), **RecordMyStats.WebApi2** (backend web api).
* With this solution setup you can just use the "Start" button in Visual Studio to run the project.

## Environment Variables

You will need to setup the following environment strings for development. Add these from windows using Edit the system environment variables.

(You can add these to a file for tracking but they should not be committed to your branch. Add such a file to .gitignore.)

* **RMS_JWT_TokenPhrase** - create a long string for the unique token phrase. This is used to create the JWT token.
* **RMSAzureDBConnString** - connection string for the Azure SQL Server database.
* **RMSAzureWebApiAddress** - the address of the web api on Azure.
* **RMSLocalDbConnString** - connection string for the local SQL Server database.
* **RMSLocalPostgresConnString** - connection string for the local Postgres database.
* **RMSDefaultSalt** - 36 char salt string.
* **RMSDefaultEncryptionKey** - 36 char encryption key string.

## Contributing

* Contributions welcome. Please fork the project and submit a pull request.

## License

MIT License

## Contact

If you have any questions about this project, feel free to contact me at [email protected].