Coder Social home page Coder Social logo

framarama / framarama Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 8.62 MB

Centrally manage and show your memories on different digital photo frame (frontend, server and API component)

License: GNU General Public License v3.0

Python 22.12% HTML 4.98% CSS 8.87% JavaScript 22.76% Less 9.03% SCSS 32.24%
memories image-processing django python photos photoframe digital-photo-frame pictures

framarama's Introduction

framaRAMA

stripes

Keep your memories alive with framaRAMA. The smart way to show your memories from a photo collection on a digital photo frame.

Features:

  • ๐Ÿ“ท configure multiple different sets of photos
  • ๐Ÿ“บ show them on different devices
  • ๐Ÿค integrate you own photo collections
  • ๐ŸŽฏ priorize the photos to show by meta data (e.g. date taken)
  • ๐Ÿช„ add make up to your photos (resize, write text, etc)
  • ๐Ÿฟ enjoy your memories
  • ... and more - checkout the documentation!

config display

๐Ÿš€ How to start

The software consists of mainly two parts:

  • the server component, for administration and management
  • the frontend component, for displaying the photos

In the standard setup both components will run on the same device. In this case the configuration and the display of photos will be handled by the this device.

To be able to adminstrate and manage multiple devices centrally and only display the photos on several other devices, the server can be installed on a single central device and the frontend on the several other devices showing the images.

This setup requires access from the frontend devices to the central device running the server component.

โš™ General setup

Follow the steps below to setup both components on the same system. If you want to separate them, see sections below.

๐Ÿ“ข Before starting check the requirements of the components below and install them if required.

git clone https://github.com/framaRAMA/framarama.git framarama
cd  framarama
mkdir data
python -m ven venv
. ./venv/bin/activate
pip install -r requirements.txt

Running both components on one system, set MODES in framarama/settings.py:

    'MODES': [
        'server',
        'frontend'
    ],

To use an external database change DATABASE in framarama/settings.py:

  'default': {
    'NAME': 'dbname',
    'ENGINE': 'django.db.backends.mysql',
    'USER': 'dbuser',
    'PASSWORD': 'dbpassword',
    'HOST': 'dbhost',
  }

Initial setup:

python manage.py createsuperuser
python manage.py setup --set mode=local

Start application:

python manage.py runserver 0.0.0.0:8000 --noreload

... and navigate browser to

Enjoy!

๐Ÿข Server setup

This component is the central place where all the configuration and setup is done. It is providing a web interface to setup your photo collection and assign them to different frames or displays.

Checkout the project as mentioned before and adjust the configuration:

    'MODES': [
        'server',
        #'frontend'
    ],

The server component depends on the following dependencies:

  • โ˜ python3, python3-venv, python3-dev - standard Python environment
  • โ˜ gsfonts, gsfonts-other, fonts-liberation, fonts-urw-base35, fonts-freefont-ttf, fonts-freefont-otf - fonts support, might be other packages (install them and check via convert -list font)
  • ๐Ÿ’ก libmariadb3 - for external database support

When just running the server component, setup the initial configuration using following command:

python manage.py setup --set mode=cloud

After application startup you can open the server setup in the browser.

๐Ÿ“บ Frontend setup

This component is used to retrieve data from the server component and prepare the photo to display it - usually - locally on the display connected to the device.

Checkout the project as mentioned before and adjust the configuration:

    'MODES': [
        #'server',
        'frontend'
    ],

The frontend component depends on the following dependencies:

  • โ˜ python3, python3-venv, python3-dev - standard Python environment
  • ๐Ÿ’ก network-manager, dnsmasq-base - configuring and setting up networking
  • ๐Ÿ’ก plymouth, plymouth-themes, plymouth-x11 - create startup booting screen
  • ๐Ÿ’ก xserver-xorg, xrandr|x11-server-utils, xinit, openbox, feh, imagemagick - show pictures using graphical frontend
  • ๐Ÿ’ก xinput - register keystores for fallback commands

After application startup you can open the frontend setup in the browser.

โ˜ฏ Final notes

This project was born because we all have large collection of photo but don't regularly look at them to benefit. Maybe we have some photos in some photo frames on walls or we have some of them in paper albums. But how often do we look at them to enjoy the memory?

With this project you can resurrect you memories by showing your photos on a digital photo frame.

If you like this project, please donate. Thanks!

framarama's People

Contributors

ohinckel avatar

Stargazers

 avatar  avatar

Watchers

 avatar

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.