Git Product home page Git Product logo

photohome's Introduction

PhotoHome

Photo home is designed to give a home to you photo library while preserving the directory structure on you NAS. The photo files are not edited, modified or changed. Thumbnails are generated for the library view and photo information indexed into a mysql database.

Contributing

Please help! If you have an idea which should be implemented or a fix to a bug, fork the repo and send a pull request

Setup the database:

--
-- Database: `Photos`
--
CREATE DATABASE IF NOT EXISTS `Photos` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `Photos`;

-- --------------------------------------------------------

--
-- Table structure for table `exif`
--

CREATE TABLE `exif` (
  `row_id` int(11) NOT NULL,
  `photo_id` int(11) NOT NULL,
  `entry` varchar(255) NOT NULL,
  `value` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `location`
--

CREATE TABLE `location` (
  `row_id` int(11) NOT NULL,
  `photo_id` int(11) NOT NULL,
  `countryName` varchar(255) NOT NULL,
  `countryCode` varchar(255) NOT NULL,
  `adminCode` varchar(255) NOT NULL,
  `adminName` varchar(255) NOT NULL,
  `name` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `photos`
--

CREATE TABLE `photos` (
  `id` int(11) NOT NULL,
  `path` varchar(255) NOT NULL,
  `time` datetime DEFAULT NULL,
  `width` int(11) NOT NULL,
  `height` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

--
-- Table structure for table `tags`
--

CREATE TABLE `tags` (
  `row_id` int(11) NOT NULL,
  `photo_id` int(11) NOT NULL,
  `value` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Indexes for dumped tables
--

--
-- Indexes for table `exif`
--
ALTER TABLE `exif`
  ADD PRIMARY KEY (`row_id`),
  ADD KEY `photo_id` (`photo_id`);

--
-- Indexes for table `location`
--
ALTER TABLE `location`
  ADD PRIMARY KEY (`row_id`),
  ADD UNIQUE KEY `photo_id_2` (`photo_id`),
  ADD KEY `photo_id` (`photo_id`);

--
-- Indexes for table `photos`
--
ALTER TABLE `photos`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `path` (`path`);

--
-- Indexes for table `tags`
--
ALTER TABLE `tags`
  ADD PRIMARY KEY (`row_id`),
  ADD KEY `photo_id` (`photo_id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `exif`
--
ALTER TABLE `exif`
  MODIFY `row_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=518606;
--
-- AUTO_INCREMENT for table `location`
--
ALTER TABLE `location`
  MODIFY `row_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2286;
--
-- AUTO_INCREMENT for table `photos`
--
ALTER TABLE `photos`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=12032;
--
-- AUTO_INCREMENT for table `tags`
--
ALTER TABLE `tags`
  MODIFY `row_id` int(11) NOT NULL AUTO_INCREMENT;
--
-- Constraints for dumped tables
--

--
-- Constraints for table `exif`
--
ALTER TABLE `exif`
  ADD CONSTRAINT `exif_ibfk_1` FOREIGN KEY (`photo_id`) REFERENCES `photos` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;

--
-- Constraints for table `location`
--
ALTER TABLE `location`
  ADD CONSTRAINT `location_ibfk_1` FOREIGN KEY (`photo_id`) REFERENCES `photos` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;

photohome's People

Contributors

robinp7720 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

photohome's Issues

Image analysis

Using Tensor flow, images should be indexed with what is included in the image. This would allow for searching based on content.

This image analyser should be separate of the main indexer to allow it to be run on a more powerful desktop

Albums

Albums: group photos together.
Albums should be manually creatable but should also be auto generated based on time stamps and location. This is similar to the google photos trips.

face regognition

Using opencv, images should be analysed on who is in them.

Possibly use opencv to cut faces out of the pictures and use tensorflow for the facial recognition?

Photo upload

Allow photos to be dragged into the viewport to upload them to the NAS.

Photos uploaded should be put into directories named by the date they were taken.

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.