Skip to content

Internal sales webpage for the students of Claremont Colleges

License

Notifications You must be signed in to change notification settings

justinhyou/5C-Craigslist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

5C-Craigslist

Summary

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.

APIs/Gems:

  1. Image uploading using paperclip gem
  2. ImageMagick, which is required for Paperclip.
  3. Google Maps API with the geocoder gem
  4. CKEditor text editor which allows users to style their post listings.
  5. Figaro for hiding API keys
  6. Bootstrap grids for making the website responsive
  7. Slack API/Incoming Webhook

System Configurations:

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

User Stories

  1. Users can login, logout and create an account.
  2. Users can view all posts without logging in.
  3. Users can view all posts within a category without loggin in.
  4. Users can post a listing if logged in.
  5. Users can upload an image and address to their post if logged in.
  6. Users can edit/update their post if logged in.
  7. Users can view all posts made by self.
  8. Users can sort postings by cost (organized by descending post time by default).
  9. Users can comment on a posting.
  10. Users can only register if a Claremont Colleges student.
  11. Users can receive Slack notification for each new post made. (Refer to "Notes" for integration instructions.)

HomePage LoginPage Registration NewPosting PostInfo AllPosts Categories UserProfile

Installation 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

Notes

Ongoing Improvements to be Implemented

  1. Users can post comments with automatically attached username.
  2. Users can view profiles of other users, which contains their posts.
  3. Users can use in-app Venmo/Paypal.
  4. Users can filter based on cost ranges, date ranges, and locations.
  5. Users can navigate all pages with customized favicon.
  6. Users can edit/delete their own comments.
  7. Users can automatically archive their sold items.

Slack Integration

  1. Create a channel in Slack group
  2. Create a New Bot Integration and note its API token
  3. Add API token to secrets.yml
  4. Uncomment code in posts_controller.rb More details

Contact

(Justin) Hyobin You at [email protected].

References

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

https://github.com/jawt94/Craigslist

About

Internal sales webpage for the students of Claremont Colleges

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published