Giter VIP home page Giter VIP logo

openstage's Introduction

README

OpenStage is the best place for venues and performers to find each other. It is OpenTable for venues and artists.

In this app, venues post time slots that they are looking to fill with performers. Artists complete profiles that include experience and traction (on Spotify or elsewhere) and they submit requests for open time slots. Venues (managed by promoters or venue owners) use the in-app information to select the best fit for each time slot.

This app is initially targeted at small venues, bars and cafes with the vision to expand into larger venues.

OpenStage was created as a project for the full-stack web developer course at the Flatiron School. The project utilizes Rails and Active Record and PostGres database.

Install

To launch the app:

bundle install
rake db:create
rake db:migrate
rails s

The PostGres database needs to be running in your local environment for this app to function. Soon we will move to a 3rd party hosting site (Heroku).

If you would like to see sample data, seed the data base with:

rake db:seed

Team

openstage's People

Contributors

aemrich avatar valeriemccarthy avatar robhitt avatar cy2003 avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

valeriemccarthy

openstage's Issues

Feedback

I'm not sure I understand the use of this method def all. If you're trying to grab the first_name of your promoter you should only need promoter_instance.user.first_name.

All logic with params should be handled in your controllers venue_params.

I like what this validation is doing, but your logic can be simplified. First, because of your associations you don't need to call venue = Venue.find(self.venue_id) self.venue is already that venue. Think about how your conditionals are working and what your end goal is. If your time_slot is filled then you can add the error inside of your conditional instead of using the available variable.

Whenever you're doing multiple of the same .find in your controller you should move that logic into a private helper method. For example in your ApplicationController you are calling @user = User.find(session[:user_id]) a few times. What you could do is:

class ApplicationController < ActionController::Base
  before_action :set_user, only: [:action1, :action2]

  ...

  private

  def set_user
    @user = User.find(session[:user_id])
  end
end

Because you're not referencing the password_exists private method in your UsersController more than once I would not turn that logic into it's own method.

Try to handle most of your view logic in your models. For example your time_slot_applications/index.html.erb has way too much logic and data manipulation. I would turn your strftime() calls into helper functions and the calls to a users's full_name into a method in the time_slot_application class.

Overall, this application turned out really well! You should all be very proud of yourselves. Everything from the domain modeling to the logic has complex functionality. @aemrich @cy2003 @robhitt @ValerieMcCarthy

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.