Giter VIP home page Giter VIP logo

frog's Introduction

Frog

Frog is released under the MIT license. It is simple and easy to understand and places almost no restrictions on what you can do with Frog. More Information

Frog is a Server solution for hosting and serving media files. The initial build was intended for creative studios, but could be used for anything, even a home solution. It was not meant for a front facing tool as the bandwidth costs would be outrageous.

The client side has been rewritten for 2.0.0 to use Angular2 in the frog_ng project. Please see that to build the front end for Frog.

Documentation

Quickstart

With Frog there are a few key points that make it a perfect solution for your team(s) creative uses.

Accessibility

First and foremost, Frog is easy to use and easy to add media files to. It has a straight forward API so integrating it into any other app or tool is trivial. Users can upload and view media instantly and the entire team benefits. For example, an artist could be working in Photoshop and simply hit a hotkey or panel button that would send a PNG and layered source PSD to Frog. The artist doesn't have to break his workflow just to share images with the rest of the team.

Since Frog is web based, everyone can get to it wherever they are. The viewer is done in HTML5 canvas which makes it even more accessible due to no flash or other plugin requirements.

Visibility

One of the biggest problems I see in creative studios is that their media is usually hosted on a network drive somewhere and, if you're lucky, organized in folders. Searching is slow, brosing is near impossible, and sharing is a nightmare. One unseen benefit with Frog is just having everything visible at one time. Being able to browse all media in one place makes discovery a snap. There is also a sense of progress and users can see a history of the project's art over time.

Search and Filter

The search solution can be configured to use a full featured engine such a Solr or it can use the search capabilities fo the database. Filtering is done byt he use of Tags. Tags can be easily added to or removed from a set of images. Users can quickly search and filter a set of images, then send that link to others. For example, you could have a set of filters for a certain artist and a specific character. Share that link and you'll always have an up-to-date set of images meeting that criteria.

As mentioned before, when media is stored in a network folder, browsing is cumbersome. If Google has tought us anything, its that search is the only means of finding something when the numbers of items gets too large. So no matter how organized the folder structure is, search will always be faster and more accissible to users.

Open

Frog is all open sourced and under the MIT license. So feel free to modify it to fit your specific needs. Because it uses Django, it is easy to add features. The auth system included with Frog is pretty simple. In fact it's almost 100% honor system due to the site's internal focus. But adding a more sophisticated authentication system is trivial that to Django.

Hacking on Frog

Frog uses setuptools to build and generate a python package. The easiest way to hack on Frog is to use the develop mode shipped with setuptools.

  1. git clone https://github.com/theiviaxx/Frog.git
  2. cd Frog
  3. python setup.py develop

######Made with PyCharm

alt text

frog's People

Contributors

theiviaxx avatar nickryand avatar theflipbook avatar dependabot[bot] avatar arturleao avatar

Stargazers

Jacob Repp avatar Josh avatar Andreas Motl avatar Carlos Bustillo avatar Nikolaus Schlemm avatar Kyle Harrison avatar cobycloud avatar Christoph Bülter avatar  avatar Pavel Draganov avatar Joey Simhon avatar Michael Anthony avatar Oleksandr Poliatykin avatar Scott Sharkey avatar Reto Schläpfer avatar Vladimir Ulupov avatar Pavel Marakhovsky avatar  avatar Mikhail Andreev avatar Dmitry Kulikov avatar Alexey Volochenko avatar Keith Yang avatar tzangms avatar Dennis Watson avatar Gladson avatar RaisCui avatar renwofei423 avatar Bruno Melo avatar Rikki Loades avatar Trần Vân avatar Peter Hanley avatar  avatar elias showk avatar Gui Zhenwei avatar Rui Wang avatar Bruno Rocha avatar Iwan Trofimtschuk avatar Sumbry avatar John Anderson avatar Jon Lauridsen avatar  avatar Ben Roeder avatar  avatar Keith Lee avatar  avatar  avatar Guillaume Pellerin avatar Eugene MechanisM avatar Shige Abe avatar Vitor Figueiro avatar

Watchers

 avatar Pavel Marakhovsky avatar  avatar Gui Zhenwei avatar James Cloos avatar Ben Roeder avatar Michael Anthony avatar  avatar Christoph Bülter avatar

frog's Issues

Gallery: Controls

  • Upload
  • Edit tags
  • RSS
  • Help
  • Preferences
  • Manage
    • Remove
    • Copy
    • Download
    • Switch Artist

Add login page

There is no way to log in to the site

*ask for email address

  • first
  • last
  • get or create
  • login
  • set session timeout for 20 years

1x1 png in firefox

Some older versions of ff are failing with the canvas 1x1 png generation. just include an image

Document

Add wiki entries for

Server
Install
Config
Dependencies

Client
Frog.js
Gallery
Viewer
Objects

edit tags: new tag

Theres no way to add a new tag. add an event for keyup + enter to add the input value.

API: Download

guids
If there is only one, then send the source in chunks
If there are many, zip them by artist name and send the zip in chunks

API: Search

Add haystack and whoosh to keep things simple, and get real search

Viewer: Add shelf

Add a way to jumb between objects in the viewer. Needs to have a cap, say 15 or 20

RSS

Adjust the weekly date ranges
add daily

user name case

Store all usernames and first/last names as lower case, including the artist tag. Have JS capitalize them on the client

API: RSS

add an rss feed for latest images in a daily or weekly digest.

  • cron task runs each night at midnight
  • finds all items for the previous 24 hours
  • stores the IDs into a serialized JSON string to the DB with the date
  • RSS feed will pickup the last 5 items in table
  • The template/view will deserialze the string and construct the html

back forward query builder

when going back or forward in the history, the filters are applied but the query builder is not updated. the gallery need to tell the query builder to update without firing the onChange event.

Initial tag request

When the page first loads a tag is requested that requests all tags. This is async, so this could result in many of the same requests.

Gallery: Edit Tags

Front end for edit tags
Needs to list all tags on everything selected
Draggable items
Make it very clear as to what is added and what is removed
autocomplete for adding tags

fix file unique id

Files are getting random unique IDs, they need to just take the user_file or user_path/file if path is available.

Add keyboard support

Gallery

  • CTRL + A - Select all
  • CTRL + D - Select none

Viewer

  • left - prev
  • right - next
  • esc - close

Theme EXT

The grey or blue themes are not good

Fix uploader api

Change the path lookup to only look for a single path
change the default galleries lookup to '1'
remove the json stuff

requests should have

POST: {'user': 'username', 'path': '/path/to/file.png'}
FILES: {'file': open('/path/to/file.png', 'rb')}

API: Switch artist

guids, artist ID
if artist id is a string, then use that to create a new artist/user

Builder: init data issue

If there is no data passed to the query builder then no buckets get added. At least one needs to be added for search, etc.

fix bug with duplicate uploaders

when you drag files to upload a second time, new UI widgets are created each time. Need to show and hide them instead of creating.

UI pass

This includes ui for the toolbar on the gallery, ui for the query buider, ui for the uploader, and ui for the viewer

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.