Keeping a lot in your head, can be a lot! Soar beyond all of the stuff that drags you down. This is a work-in-progress Journaling web app with the goal of being a place to record and jot how you are feeling, how your day is or went, or whatever may be on your mind. Sometimes, just having a place to write can be helpful, and SoarBeyond aims to be that tool for you.
Would definitely recommend installing Visual Studio 2022 Preview!
SoarBeyond uses PostgreSQL for its backend database store. So if you don't have PostgreSQL installed, make sure to install it before trying to run the solution.
- To manage storage of the 
Database Connection Stringand other important configuration/settings, the project makes use of anappsettings.jsonfile. 
- When you clone the repo, before running the project, you'll need to edit the template 
appsettings.jsonfile in the following directory:src\SoarBeyond.Web 
- For the Database, look for the 
Persistencesection of the file, it will look something like this:- 
"Persistence": { "Host": "localhost", "Port": "5432", "Database": "soarbeyond", "Username": "postgres", "Password": "" }
 - From there, just give the 
Passwordkey a value (password for the Postgres user). You can of course change theUsernamekey to be a different user in your PostgreSQL logins (just be sure to update thePasswordvalue to the changed login user's password). 
 - 
 
- 
The alternative, and more recommended way (but still NOT suitable for
Production) for managing the configuration file is usingUser Secrets - 
The advantage of using User Secrets, is that the file is stored in a separate location from the project tree. Because of this, those secrets aren't checked into source control.
 - 
The location of the
secrets.jsonfile is different between Operating Systems, but it's stored in a system-protected user profile folder on your computer.- Windows
%APPDATA%\Microsoft\UserSecrets\CalebABG-SoarBeyond\secrets.json
 - Mac / Linux
~/.microsoft/usersecrets/CalebABG-SoarBeyond/secrets.json
 
 - Windows
 
- 
In the
src\SoarBeyond.Webproject, aUserSecretsIdproperty is defined in thesrc\SoarBeyond.Web.csprojfile which looks like this:- 
<UserSecretsId>CalebABG-SoarBeyond</UserSecretsId>
 
 - 
 - 
The structure for the file is the same for the Default -
appsettings.jsonapproach- Just copy what's in that template and paste it in the 
secrets.jsonfile. Then fill in the needed pieces and you're good to go! 
 - Just copy what's in that template and paste it in the 
 
- If you have 
Dockeranddocker-composeinstalled, then you can get up and running in 1 step! - Run the following command in the root folder
- 
docker-compose -f "docker-compose.yml" up 
 - 
 - To stop the docker-compose containers, run this command:
- 
docker-compose -f "docker-compose.yml" down 
 - 
 
- 
If you're starting fresh, just cloned the repo, then you'll need to make sure you've done the needed Configuration, before running or debugging the solution.
 - 
If you're already using SoarBeyond, you may need to do any or all of the following to ensure that you have everything you need to run the latest and greatest!
 
- 
If you have
dotnet efcommand line tools installed, you can run the following command in the root folder (SoarBeyond) to apply the latest migration.- 
dotnet ef database update --project src\SoarBeyond.Data --startup-project src\SoarBeyond.Web --verbose - You can install the 
dotnet efcommand line tool by following this document Entity Framework Core Tools CLI 
 - 
 - 
If you're using Visual Studio, you can use the
Package Manager Console. Note: Make sure in the tool window, to change theDefault projecttosrc\SoarBeyond.Data, then execute the following command:- 
Update-Database - You can install the 
Package Manager Consoletools by following this document Entity Framework Core Tools - Package Manager Console in Visual Studio 
 - 
 
Create an issue for the repo if you encounter any errors or strange behavior/functionality with the application.
Thank you for checking out this project. I hope it can provide even the smallest bit of help, in anyway for you! Please feel free to submit feature requests or suggestions for improvement!
