Squadly is a social service that I created along with my partner, Mike Jannino, that aims to make the advertising and organization of events as effortless as possible. This project serves as our senior capstone, and while most of the other students in our class are using PHP, we decided to make this a rails application.
A user simply logs into Squadly and creates an event. Squadly keeps track of the events that a user creates and loads an activity feed based on the events that are created by other users that are followed. Through a number of APIs, basic information of an event can be adversited. For instance, an event summary could serve as content for a Facebook status, tweet on Twitter, or text message via Twillio. We would like to use the Google Maps API to map a person's events for social and marketing aspects.
- Setting up a server and installing Rails
- Installing the Bootstrap Gem
- Creating User authentication
1. Setting up a server and installing Rails.
To make this part as easy as possible, we went with Digital Ocean's 1 click install service which creates a VPS with Rails and Unicorn (app server). The default application lives in
/home. To serve a Rails app, the one method I've found was to edit one line in the config files for nginx (/etx/nginx/sites-available) and unicorn (/home/unicorn/unicorn.conf). The config files refer to the location of the app as
/home/rails (which is interesting because Rails prevents you from creating a file called rails), all you need to do is change that line to refer to the location of your rails app.
2. Installing the Bootstrap Gem
To make Bootstrap work without the Gem, we did some pretty ugly things. This third time around we came to our senses and decided to make life easier. Source
3. Creating Users
To apply authentication to Squadly we had help with the Bcrypt Gem. Source
- Adding events
- Front end polish
Doing things the wrong way from the beginning was a big regret, and deciding to start from scratch was very discouraging in the beginning. For the sake of productivity and a sense of "development correctness", we're happy to have made the decision while the application was still pretty immature.
We had to create users on our VPS instead of simultaneously working as root. Totally forgot that the git repository we set up would be out of whack. For instance, I created a branch and worked on it while Mike made a commit on master. The commit showed up under the ne branch I was working on (DUH!).
Cloning the repository locally to a machine took some research. Apparently it was simply something along the lines of
git clone *user*@*address*:*path to repository*/.git. Just note that if you name your repos your .git file will be prepended with the name.