Skip to content

DanielLanger/QuickByte

Repository files navigation

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published