Skip to content

it-beard/bloggers-cms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License Stars Issues

Deploy apps to Production

Bloggers CMS is a content management system specifically developed for bloggers' needs.
It is powered by .NET 8 and Blazor WebAssembly technologies.

The CMS allows you to keep track of:

  • Content & content participants
  • Clients
  • Income and expenses
  • Gifts and contests

Additional features:

  • Authentication system based on Auth0 (can be disabled)
  • Flexible internal settings system
  • Flexible entity filters
  • Ability to manage multiple Brands within a single interface
    • "Brand" is an entity to which content, content participants, income, and expenses are linked. This can be a separate YouTube channel, blogger, project, company, etc.
  • Minor recommendation capabilities

Install and run

Without Docker

  1. Install and configure the SQL database
  2. Disable Auth0 authentication
    • By default, the CMS includes Auth0 authentication, which requires additional configuration.
    • To disable Auth0 authentication, set the parameter Auth0:Enabled to false in the following files:
      • bloggers-cms/Pds/Pds.Web/wwwroot/appsettings.Production.json - disables authentication on the frontend side
      • bloggers-cms/Pds/Pds.Web/wwwroot/appsettings.LocalDevelopment.json - disables authentication on the local frontend instance (localhost)
      • bloggers-cms/Pds/Pds.Api/appsettings.json - disables authentication on the backend side
  3. Configure the CMS according to the description in the "Settings" section.
  4. Run the Pds.Api and Pds.Web projects (how to run .NET application)

The database migration will occur automatically when you first run the Pds.Api project.

With Docker

To run the application in Docker, simply enter the command: docker compose -f "./Pds/.run/docker-compose.yaml" up -d

Features of the Application in Docker:

  1. By default, Auth0 authentication is disabled.
  2. Data from the database is stored in a dedicated volume, which allows preserving state even after restarting/recreating containers.
  3. There is no TLS/SSL support; therefore, everything works over HTTP.
  4. The application is running in Development mode.
  5. The frontend is available at http://localhost:5000.
  6. Blazor is hosted using NGINX.

Settings

Settings for Pds.Web

This is the frontend of Bloggers CMS, running on Blazor WebAssembly.

The main settings are located in the files bloggers-cms/Pds/Pds.Web/wwwroot/appsettings.Production.json (used in production) and bloggers-cms/Pds/Pds.Web/wwwroot/appsettings.LocalDevelopment.json (used when running locally):

  • The Auth0 section contains Auth0 authentication settings.
  • The BackendApi:Url parameter contains the URL of the deployed instance of Pds.Api.

Settings for Pds.Api

This is the backend API of Bloggers CMS, running on .NET.

The project settings are located in the file bloggers-cms/Pds/Pds.Api/appsettings.json:

  • The Logging section contains logging settings. Default values usually do not require changes.
  • The AllowedOrigins section contains a list of root URLs of allowed frontend applications. Add the root link to your deployed instance of Pds.Web here.
  • The Auth0 section contains Auth0 authentication settings.
  • The ConnectionStrings:DefaultConnection parameter contains the connection string to the database.

Useful Links

License

Apache License 2.0, see LICENSE for details.