GithubHelp home page GithubHelp logo

quickbyte's Introduction

Welcome to QuickByte!

QuickByte is an app that allows you to find people to eat meals with in your Facebook network!

How it works:

QuickByte uses Facebook authentification to make sign up quick and secure. Using a gem called Omniauth, we pull the user’s college network from Facebook. This way, the user now belongs to a network in QuickByte, so he can see other users’ meals in said network.

After a user logs in, he sees a MealFeed of all the public meals (and private ones that he has permission to see) in his network. This includes the location, the start and end time, and the host. If this meal sounds appealing, he can press “Join” and will be brought to a Group Meal Page. Here, he can propose a new time, write to the other users in the group on the message board, and view user pages.

If a user wants to create his own meal, he can simply press ‘New Meal’ on the homepage. Alternatively, users can search for local businesses on the top nav-bar which has autocomplete functionality. This will bring the user to that business’s page, where he can start a new meal from as well.

Creating a new meal is easy. Simply pick the location (if you didn’t start the meal from a business page), choose a start and end time, and decide if you want it to be public or private.

And that’s it! You are now ready to start using QuickByte so you never have to eat alone again!

Overview of Files:

Rails is an MVC (Model View Controller) framework, where files are either a model – basically an object and its attributes, a view – a frontend page that displays data, or a controller – a logic page that computes queries and decides what data to show etc.

Most of the work is done in the controllers and views. Let us first look at the controllers The first large controller is the users_controller and the users model. This controller and model handles creating new users through facebook integration and ensures that users can only view other users in their network. The next large controller is the meals controller. This controller handles showing the appropriate meals on the user’s MealFeed based on privacy settings, and creating new meals when a user fills out the new meal form. It also produces the logic for favorites! The largest of the controllers in the group_meal controllers. It handles creating new group meals, creating messages for group_meals, joining group meals, updating times for group meals, and creating notifications for users when a group_meal is changed.

The views for these controllers handles displaying this information in a nice format. Using a plugin called Foundation Zurb, styling this application as a whole was very straightforward. It generates CSS based on div classes and makes the app look nice!

The schema for this app can be found in app/db/schema.rb

quickbyte's People

Contributors

daniellanger avatar

Watchers

 avatar  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.