clone of github.com/decent-newsroom/newsroom
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Nuša Pukšič 64c5ff3fcc Publishing 3 months ago
assets Publishing 3 months ago
bin Authenticate user with a NostrSigner. Prep for long form articles. 1 year ago
config Rename const 3 months ago
docker/cron Update cron 3 months ago
docs Symfony from dunglas/symfony-docker 1 year ago
documentation NIP-05 3 months ago
frankenphp Messages, Mercure, Caching, Auth 3 months ago
migrations Magazine from RSS 3 months ago
public Publishing 3 months ago
src Limits 3 months ago
templates Refactor comments 3 months ago
tests Magazine from RSS 3 months ago
translations NIP-05 3 months ago
.dockerignore Symfony from dunglas/symfony-docker 1 year ago
.editorconfig Symfony from dunglas/symfony-docker 1 year ago
.env.dist Configure Messages and Mercure 3 months ago
.env.test Tests, security 3 months ago
.gitattributes Symfony from dunglas/symfony-docker 1 year ago
.gitignore Name the elastic index, update some features 5 months ago
Dockerfile Fix prod 3 months ago
LICENSE Update copyright year in LICENSE file 4 months ago
README.md Reorganize configs 8 months ago
asset_map_compile.sh Script to Compile Asset Map for Deployment 7 months ago
compose.override.yaml Restart db 7 months ago
compose.prod.yaml Fix prod 3 months ago
compose.yaml Attempt to fix worker 3 months ago
composer.json Messages, Mercure, Caching, Auth 3 months ago
composer.lock Update 3 months ago
importmap.php Render math 3 months ago
package.json Quill editor basics 1 year ago
phpunit.xml.dist Authenticate user with a NostrSigner. Prep for long form articles. 1 year ago
symfony.lock Messages, Mercure, Caching, Auth 3 months ago

README.md

Decent Newsroom

Intro

Decentralised Newsroom is a platform for the creation, publishing, and discovery of mixed-media collaborative journals.

Newsrooms used to be at the heart of journals and media houses, but they deteriorated when their business models started to fail. This project is a decentralised digital alternative.

A lot of talented creators have found their opportunity in the handful of platforms available, but there is synergy in collaboration that has been lost in the transition.

Let's bring back high-value professional journalism and collaborative publishing.

Constituent parts

This project has multiple facets that build on each other, making the whole more than the sum of its parts.

Reader

A traditional newspaper lookalike made up of multiple individual journals. Logged-in users can pick and choose which journals they read and subscribe to, while passers-by can browse the default public ones.

Article Editor

A content editor interface for writing essays, articles, and more. Featuring preview mode, saved drafts and personal notes.

Media Manager

In the current digital landscape, media content and written word have been driven apart, and it's time to bring them closer together again. The media manager is a place to create and share your own media library.

Marketplace

A marketplace for requesting custom-made media (photographs, graphics, data visualizations, animations, audio, video...), science review, contacts, etc. or for publishing art and stock images to make them available and discoverable to be included in the journals.

Newsroom

A content management system for creating and updating journals and managing subscriptions.

Silk Search and Index

An integrated service that provides on-demand indexing and search.

Setup

Clone the repository

git clone https://github.com/decent-newsroom/newsroom.git
cd newsroom

Create the .env file

Copy the example file .env.dist and replace placeholders with your actual configuration.

Add a project encryption key and nsec

Symfony uses a vault mechanism for managing secrets securely. To save the nsec, run this command inside your Docker container:

docker-compose exec php bin/console secrets:set APP_NSEC

To save the encryption key:

docker-compose exec php bin/console secrets:set APP_ENCRYPTION_KEY