Giter Site home page Giter Site logo

huangziwei / luvdb Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 1.0 30.54 MB

Your self-hosted inner space

Home Page: https://luvdb.com

License: GNU Affero General Public License v3.0

Python 39.42% HTML 46.06% CSS 6.62% JavaScript 7.90%
django self-hosted social-network media-catalogue

luvdb's Introduction

LʌvDB

LʌvDB is your self-hosted inner space. Primarily a media cataloging app, it centers on books and periodicals, movies and series, music, podcasts, audiobooks, and games. The app features an activity feed that allows you to share your media check-ins with friends. Additionally, it supports microblogging (Say), blogging (Post), bookmarking (Pin), and curating lists of in-site content (List).

Screenshots / Features

Activity Feed (Home Page)

activity_feed

A purely reverse chronological feed displays your activity on the site. You can send updates as a "Say" directly from the feed or link to the page to create a "Post," a "Pin" (bookmark), or a "List". The feed can be filtered by media type (Read, Watch, Listen, Play) of the Check-ins or by content type (Say, Post, Pin, List, and Follow).

Profile page

profile

A profile page displays your progress. You can set it to public or private (only logged-in users can see it).

Recent page of the Read App

read_recent

The recent page shows the current trending and most recent additions to the Read app.

Book Detail of the Read App

book_detail

On the book page, you can check in your fleeting thoughts and progress while you read.

Creator Detail

creator_detail

We can curate a comprehensive bibliography, filmography, discography, and gameography for creators with linked data.

Others

  • LʌvDB offers comprehensive RSS support. If you set your profile to public, others can subscribe to your activity feed, or to specific content such as your Say, Post, or Pin, and even your updates with a specific hashtag, using RSS readers.
  • You can cross-post activities to Mastodon and BlueSky using built-in cross-posters.

You can read more about the Making-of LʌvDB here.

Live Sneak Peek

You can also explore LʌvDB at luvdb.com. This instance is currently reserved for friends and is not accepting new registrations. Before deciding to spin up your own instance, you can familiarize yourself with the app through the following pages:

Testing Locally

First, clone this repository:

git clone https://github.com/huangziwei/luvdb

Then, download the latest datadump, unzip it, and replace the media and static folders with the one in the datadump folder, and place the datadump_anonymized.json in the repo folder. After than, run the following commands:

# Creating a virtual environment
python -m venv .venv
source .venv/bin/activate

# Installing dependencies
pip install -r requirements.txt

# Initializing environment
touch .env
python -c 'from django.core.management.utils import get_random_secret_key; print(f"SECRET_KEY={get_random_secret_key()}\nFERNET_KEY={get_random_secret_key()}")' > .env
echo "DEBUG=True" >> .env

# Running Django migrations
DJANGO_SETTINGS_MODULE=config.settings.development python manage.py makemigrations
DJANGO_SETTINGS_MODULE=config.settings.development python manage.py migrate

# Load datadump with an anonymous superuser
DJANGO_SETTINGS_MODULE=config.settings.development python manage.py loaddata datadump_anonymized.json
# and/or create your own superuser
# DJANGO_SETTINGS_MODULE=config.settings.development python manage.py createsuperuser

# Starting server
DJANGO_SETTINGS_MODULE=config.settings.development python manage.py runserver

The anonymized data dump will only be updated infrequently. There's a default superuser "anonymous" and its password is also "anonymous", but you can also create a new superuser as you like.

luvdb's People

Contributors

huangziwei avatar ivanwoo avatar

Stargazers

fivestone avatar Henri Dickson avatar  avatar

Watchers

 avatar

Forkers

ivanwoo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.