monerica-project / monerica

A Directory For A Monero Circular Economy
https://monerica.com
53 stars 26 forks source link

Monerica

A Directory For A Monero Circular Economy

Submit your link to Monerica here!


Donations

You can donate to help with hosting and admin costs by sending Monero to: 8BzHMDw2UaXNpCZM9wxABXW3qAKMxM2WxDGuDWSf5x5v7t1PdWdMfdLCzdtK8Eb9C5ZHcEHNR85bcbWhuK8SLCH46Pvy71q

Donate To Monerica


About

Monerica is a directory of websites and services that accept Monero as payment or relate to Monero in some way. It is a community project that is open to contributions from anyone. The goal is to create a directory of websites and services facilitating a circular economy for Monero.

Contact

Email: admin@monerica.com

Contributing

The best way to contribute to Monerica is to help manage the data in the directory. This can be done by submitting new links or editing existing links.

If you would like to contribute to the codebase, please fork the repository and submit a pull request.

The Monerica website is built using C# and ASP.NET Core MVC. It is possible to run the website on Windows, Linux, or Mac but it is recommended to use Windows for development with Visual Studio. The database is a SQL Server database and the code is written using Entity Framework Core.

Application Settings

The application settings are stored in the appsettings.json file. You can use the appsettings.Development.json file to override settings for development. Copy the appsettings.template.json file in the project you want to run and rename it to appsettings.json. From there you put in your own values for the settings.

At this time you will need to use a SQL Server database.

Database Migrations

The database is managed using Entity Framework Core. To create a new migration, run the following command from the Monerica.Web directory: dotnet ef migrations add MigrationName --context ApplicationDbContext --project DirectoryManager.Data\DirectoryManager.Data.csproj

Then run: dotnet ef database update --context ApplicationDbContext --project DirectoryManager.Data\DirectoryManager.Data.csproj

Application Structure

The application is split into 3 projects:

Features

DirectoryManager is capable of the following:

Deployment

You can deploy an instance of the application, which will upgrade the database, using the CI.bat file. Run this in a PowerShell .ps1 file and set your settings:

$MsDeployLocation            = "https://YOURDOMAIN.com:8172"
$webAppHost                  = "YOURDOMAIN.com"
$contentPathDes              = "C:\sites\YOURDOMAIN.com\"
$msDeployUserName            = 'YOURUSERNAME';
$msDeployPassword            = 'YOURPASSWORD';
$dbConnectionString          = 'YOUR_SQL_SERVER_CONNECTION_STRING';

cd "PATH_TO_BAT_FILE"

.\ci.bat DeployWebApp  -properties "@{'MsDeployLocation'='$MsDeployLocation';'webAppHost'='$webAppHost';'contentPathDes'='$contentPathDes';'msDeployUserName'='$msDeployUserName';'msDeployPassword'='$msDeployPassword';'dbConnectionString'='$dbConnectionString';}"

write-host "done"