Among the five colleges that compose the Claremont Colleges, many students utilize various facebook groups and other communication platforms (such as campus-wide emails) to sell dorm room items, ranging from furniture to class books. Much waste is generated as these various platforms are not accessible to every student, and the difficulty of scheduling actual transitions prevent students from selling their items and rather ends up in the garbage disposal. This web app allows Claremont College students to better connect with each other.
- Image uploading using paperclip gem
- ImageMagick, which is required for Paperclip.
- Google Maps API with the geocoder gem
- CKEditor text editor which allows users to style their post listings.
- Figaro for hiding API keys
- Bootstrap grids for making the website responsive
- Slack API/Incoming Webhook
Rails 5 (5.0.1)
Ruby 2.4 (2.4.2p198)
Last tested on Ubuntu (16.04 LTS) on Chrome (Version 61.0.3163.100).
- Users can login, logout and create an account.
- Users can view all posts without logging in.
- Users can view all posts within a category without loggin in.
- Users can post a listing if logged in.
- Users can upload an image and address to their post if logged in.
- Users can edit/update their post if logged in.
- Users can view all posts made by self.
- Users can sort postings by cost (organized by descending post time by default).
- Users can comment on a posting.
- Users can only register if a Claremont Colleges student.
- Users can receive Slack notification for each new post made. (Refer to "Notes" for integration instructions.)
To view locally, clone the repo, install and create the database.
git clone https://github.com/justinhyou/5C-Craigslist
cd 5C-Craigslist
bundle install
If you don't have imagemagick on your computer, install it.
mac - brew install imagemagick
Then, start the server.
be rails s
Go to following address on a web browser.
localhost:3000
Ongoing Improvements to be Implemented
- Users can post comments with automatically attached username.
- Users can view profiles of other users, which contains their posts.
- Users can use in-app Venmo/Paypal.
- Users can filter based on cost ranges, date ranges, and locations.
- Users can navigate all pages with customized favicon.
- Users can edit/delete their own comments.
- Users can automatically archive their sold items.
Slack Integration
- Create a channel in Slack group
- Create a New Bot Integration and note its API token
- Add API token to secrets.yml
- Uncomment code in posts_controller.rb More details
(Justin) Hyobin You at [email protected].
https://developers.braintreepayments.com/guides/venmo/server-side/ruby
https://github.com/RailsApps/rails-stripe-checkout
http://www.hongkiat.com/blog/send-messages-to-slack/
http://teejayvanslyke.com/use-slack-incoming-webhooks-from-rails.html