A small tool for a a fictional company called Outdoor.sy that takes some of their customer lists and returns the data in various sorted orders. View the live site here! Outdoor.sy
This app is meant to let Outdoor.sy employees add data from uploaded files that have pipe or comma delimiters. The customers' data is shown in a table with the column names: Full Name, Email, Vehicle Name, Vehicle Type, Vehicle Length. The data can be sorted by: Full Name, Vehicle Type, or Vehicle Length. The data can also be filtered through for a specific customer by the customer's First name, Last name, or Vehicle Name. When searched by Vehicle Type, the customers that have the same Vehicle Type that matches the searched input will show on the table. An Outdoor.sy employee can create a new customer manually, delete any manually created customer as well as imported customer, import a list of customers via CSV file, and export a CSV file report of all the data shown on the customer's table. Whenever a new file is uploaded, the application will not add any duplicate information to the table.
To install and run the app on your local machine:
- Click the green Clone or download button above and click the copy to clipboard button
- From your terminal, run
git clone [paste the link from step 1]
- Then run
cd outdoorsy
to navigate to the outdoorsy directory - Run
bundle install
to install the necessary gems and dependencies - Run
rails db:create
to create a database - Run
rails db:migrate
to perform the database migrations - Run
rails s
to start a local rails server - Go to
http://localhost:3000/
to view the app!
Ruby on Rails • PostgreSQL • Bootstrap
- User Experience Upgrades:
- Create dropdown menu for searching by Vehicle Type
- Search Vehicle Name by partial input
- Search Customer First or Last Name by partial input
- Toggle sort functionality on table headings
- Increase Import Capacity:
- Import more than one CSV file to the database at once
- Outdoor.sy Employee Registration:
- Add Signup, Login, and Logout functionality - people outside the Outdoor.sy network won't have access to Outdoor.sy's customers' information
- Create administration boundaries - separate managerial access from team access
- Outdoor.sy Customer Interaction:
- Create automated newsletters for existing customers - upcoming events and business progression, reward loyal customers
- Create automated marketing emails - recommendations and vouchers based on previous purchase history, personalization
- Activity tracking - metrics on each customer and how often customers request for support and engage with Outdoor.sy communication
Bug reports and pull requests are welcome on GitHub at https://github.com/LehuaRyon/outdoorsy. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.
The gem is available as open source under the terms of the MIT License.
Everyone interacting in the Outdoor.sy's project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.