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č 8c3e9bd7a1 Sort articles 1 year ago
assets Progress bar 1 year ago
bin Authenticate user with a NostrSigner. Prep for long form articles. 2 years ago
config Deployment Fixes 1 year ago
docker/cron Moving things around, updating MD parser, content and static pages 1 year ago
docs Symfony from dunglas/symfony-docker 2 years ago
frankenphp Symfony from dunglas/symfony-docker 2 years ago
migrations New migrations 1 year ago
public Static pages, service worker, manifest 1 year ago
src Sort articles 1 year ago
templates Progress bar 1 year ago
tests Authenticate user with a NostrSigner. Prep for long form articles. 2 years ago
translations Moving things around, updating MD parser, content and static pages 1 year ago
.dockerignore Symfony from dunglas/symfony-docker 2 years ago
.editorconfig Symfony from dunglas/symfony-docker 2 years ago
.env.dist Reorganize configs 1 year ago
.env.test Authenticate user with a NostrSigner. Prep for long form articles. 2 years ago
.gitattributes Symfony from dunglas/symfony-docker 2 years ago
.gitignore Reorganize configs 1 year ago
Dockerfile Asset map 1 year ago
LICENSE Initial commit 2 years ago
README.md Reorganize configs 1 year ago
asset_map_compile.sh Script to Compile Asset Map for Deployment 1 year ago
compose.override.yaml Restart db 1 year ago
compose.prod.yaml Deployment Fixes 1 year ago
compose.yaml Moving things around, updating MD parser, content and static pages 1 year ago
composer.json About and headings 1 year ago
composer.lock About and headings 1 year ago
importmap.php PWA 1 year ago
package.json Quill editor basics 1 year ago
phpunit.xml.dist Authenticate user with a NostrSigner. Prep for long form articles. 2 years ago
symfony.lock Try out loading comments and previews for articles 1 year 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