NEBULR is a posting board for futuristic space jobs/missions. It's a web application built with Ruby on Rails, PostgreSQL, Backbone.js, Google Maps API v3, Boostrap.js, and jQuery. The basic design is inspired by airbnb.com.
Live link: nebulr.space
- Search for listings within visible map extents
- Filter search results by date, compensation, and rating
- Enlist in job/mission postings
- Follow jobs/missions and receive a feed of updates on the user feed
- Google Maps integration with custom imagery
- Backbone.js communicating with a RESTful JSON API
- Server-side searching
- Registration/login not required until enlist or follow actions
- Rate jobs/missions
- Comment on users and jobs/missions
- Polymorphic 'commentable' associations
- Image carousel
- Helpful alerts for every form
- Expandable updates
def self.filter_by(data_type, min, max, missions_set=false)
missions_set ||= Mission.all
missions_set.where(data_type => min..max)
end
def self.filter_by_title_fragment(fragment, missions_set=false)
missions_set ||= Mission.all
missions_set.where("title LIKE ?", "%" + fragment + "%")
end
Simple database-level filtering allows for filter chaining:
params[:search][:min_lat] && @missions = Mission.filter_by(
:latitude, params[:search][:min_lat], params[:search][:max_lat], @missions
)
params[:search][:min_lng] && @missions = Mission.filter_by(
:longitude, params[:search][:min_lng], params[:search][:max_lng], @missions
)
params[:search][:title] && @missions = Mission.filter_by_title_fragment(
params[:search][:title], @missions
)
- Expandable comments/updates
- Delayed registration/login
- Pagination/infinite scroll
- OmniAuth
- Multiple sessions/session management
- Markdown comments
- Custom loading spinners
- Mission/job editing and relisting
- Custom infoBox for map view