Giter Site home page Giter Site logo

elubow / bjjdb Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 26.32 MB

Organization of the publicly posted BJJ videos on the internet

Home Page: http://need.bjj.help/

Ruby 58.92% JavaScript 5.15% CSS 2.02% HTML 33.11% Dockerfile 0.48% Shell 0.32%
bjj jiu-jitsu rails5

bjjdb's People

Contributors

danielcroft avatar dependabot[bot] avatar elubow avatar vexxenn avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

hiendinhngoc

bjjdb's Issues

related videos Position/Submission included in a flow drill

Create an additional box titled Related Drills. It should find all videos that are either a move::flow or move::drill that contain the same starting position or position of the current video OR the same submission as the current video.

Figure out why carrierwave isn't saving images correctly

CarrierWave saves the images and uploads them to S3 properly but never updates the thumbnail in the links model to use the S3 bucket path of the saved image. This needs to be fixed so that the model uses the correct image location path of the downloaded image.

Add a search helper screen

  • Create search helper groupings
  • Create form in search/_search_bar
  • Make search form stage based with text box first and tag adjustments
  • Merge user/dashboard and visitors/index into partial
  • Make tags update based dropdown choices
  • Write search response logic
  • Figure out how to do ORs in search response logic
  • Add a clear results button to the search form
  • Clean up layout again (top search bar and new search module) at various breakpoints

Form should start with: I want to Submit from $position

I want to TEXT_BOX:

  1. Escape/Counter "from" $position / $submission
  2. Submit "from" $position
  3. Defend "from" $position
  4. Pass "from" $position
  5. Learn "about" $position / $submission
  6. Flow "including" $position / $submission (moves including flow drills)

Gi/Nogi checkbox

---- Old Thoughts ----
This screen basically acts like a mad libs and says:

$position/$submission and want escape/pass/attack/etc. This will bring back a search result based on the request. Examples:

  • half guard and want escape
  • standing and want takedown
  • kneeling and want pass

Links should have demonstrators

This is the person giving the explanation. Should be a tag that when created, also populates an auto complete list so you can see all links by this person.

  • Handle a situation where there could be more than 1 demonstrator with the same name.

Create i18n BJJ Terms database

Root will be a phrase in English. Then you link a translation and a language to the term

ID Term
1 knee

Translations:
ID term_id language translation
1 1 de knie
2 1 fr genou

Display

Left column will always be English and then you can select up to 2 additional columns with available languages. e.g.: (EN | FR | DE) If there is no translation in that language for an English root phrase, just leave the box empty.

Addition

Only admins will be able to add English terms. Moderators levels and above will be able to add the translations. The translation entry in the admin/mod side will allow you to specify a valid language and then the translation after you select an English "root" term.

Search Screen

It will have a dropdown of the available languages and then an autocomplete text search and a multi-checkbox list of languages to see the result.

Tag Creation Should Create Tags With Rules

Update tags actions/pages to ensure that start-end positions are linked to the matching position. The following rules apply:

  • tags that have a category of start/end position can't be edited individually. They always match their counterpart in the position category
  • when a new position tag is created, a corresponding start-position and end-position tag is created
  • you can't create just a start/end or just a position tag, all 3 need to be there

Make the link favoriting system use AJAX

Right now the favorite/unfavorite mechanism on the link#show page is a call with a page reload. Have this work in the background with an AJAX call and not do a page reload.

Create BJJ locations list

This is basically a list of schools with addresses on a map so you can keep track of where you've trained. This will also work for searching places near a location.

Add a star system for rating videos (1-5)

The rating system should be a 1 star through 5 star. The logged in user should be select a star rating for a video (only once per video). Non-logged in users should be able to see the ratings result, but not make a rating. Once a user has rated a video, it should show them the rating result. Whatever the easiest mechanism is for editing the rating once one has been selected should be used as long as it makes sense. Final rating is calculated using this: https://stackoverflow.com/a/10196621/227644

create private notebook on each link#show

private notebook is just for the logged in user to be able to take notes. Probably should do this through private comments so it acts like a private notebook where each comment is a page.

Add Search Instructors Box

On the /instructors index, add a search box above the index list so you can filter down the results to the search. The search should update the list of instructors after 3 characters have been typed. The search can use ransack and should search name, description, nickname, and all the social media handles.

Users can suggest tags on links

This doesn't mean that they will immediately get added. This just means that the tags will go into a suggestion queue and then a moderator/admin will go through them and approve/disapprove them as necessary

Implement this by adding modal on all the link#show pages called suggestions. It loads up a text box with the tag selection autocomplete (chosen) and loads up the tags. User types in those tags and it goes to a suggestion model which has a state machine(:pending, :rejected, :accepted). If accepted, it makes the change and updates the link history model. If rejected, then change state to allow for filtering.

Add preview screen for links

This should go to the page and download a screen shot of the page, capture a thumbnail image or something along those lines

Add sitemap.xml generator

Should create a sitemap out of links, comments, tags, and instructors. These should be able to have varying weights depending on type. Links should be heaviest, then tags, then instructors, then comments.

Links should be able to be flagged

On the link#show page, there should be a button with a flag that says "Flag for review." The flag and text should be in small font on the same line as the location of the video (see attachment).

When a video is flagged, it should be added a list of flagged videos. The flagged video page should only be available to moderators and admins (via the admin menu). The admin/mod will then be able to either keep or remove the video. If the video is to be removed, then that link shouldn't be able to be added again (new links should be checked against the flagged links table). If the video is kept, then the video should show up in the dashboard and be searchable again. When a video is flagged, it should be removed from being visible until the video is considered ok.

Screen Shot 2019-04-18 at 11 11 31

Links should have nicknames

This is a little complicated and needs to be fleshed out. Should the link have a nickname or should there be nickname tags or something like a tag alias?

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.