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 String
and other important configuration/settings, the project makes use of anappsettings.json
file.
- When you clone the repo, before running the project, you'll need to edit the template
appsettings.json
file in the following directory:src\SoarBeyond.Web
- For the Database, look for the
Persistence
section of the file, it will look something like this:-
"Persistence": { "Host": "localhost", "Port": "5432", "Database": "soarbeyond", "Username": "postgres", "Password": "" }
- From there, just give the
Password
key a value (password for the Postgres user). You can of course change theUsername
key to be a different user in your PostgreSQL logins (just be sure to update thePassword
value 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.json
file 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.Web
project, aUserSecretsId
property is defined in thesrc\SoarBeyond.Web.csproj
file which looks like this:-
<UserSecretsId>CalebABG-SoarBeyond</UserSecretsId>
-
-
The structure for the file is the same for the Default -
appsettings.json
approach- Just copy what's in that template and paste it in the
secrets.json
file. 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
Docker
anddocker-compose
installed, 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 ef
command 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 ef
command 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 project
tosrc\SoarBeyond.Data
, then execute the following command:-
Update-Database
- You can install the
Package Manager Console
tools 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!