CostPers is an app that helps you better understand the value of your things. The app keeps track of how much you paid for an item and how many times you've used it - then it calculates the item's real-time "cost per use," or CostPer, as we call it.
Watch this short demo video to see the CostPers app in action:
Andrea Scott (@icedcoffeeallday)
Faye Hayes (@fhayes301)
Ginny Fahs (@ginnyfahs)
Kevin Cai (@kevincai79)
Tyler Kawabata (@tylerk64)
Costpers was created as a final project at Dev Bootcamp, San Francisco.
- CostPers is an iOS and Android app built on a decoupled architecture featuring:
- Rails API backend
- React Native frontend
Rails API backend features
- User authentication with BCrypt
- CostPer calculation
- Item sorting and starred/un-starred item lists
- Parse and pass JSON to the frontend
React Native frontend features
- Allows users to create and store items, as well as each item's uses, passing data to and from the backend via Axios
- Displays CostPer reduction in real-time when user logs a use of an item
- Routing and state management handled with React Native Router Flux
- Log in to see a list of your items, with starred items shown at the top
- From the item list screen, you can:
- Log a use of any item by tapping the gray checkmark, and see the cost-per-use go down in real time
- Tap on any item to view the item's price and total uses, or to favorite or un-favorite the item
- Use Add Item footer button to add an item
- You love seeing your laptop's CostPer drop, but what about all those subscriptions you have hanging around? Additional configuration for monthly subscriptions is on our list
- Add item photos
- Deeper item categorization and analytics
- Log past uses for an item you already own
- Emoji support ❤️
- Notifications and Google Maps integration for donating items with high CostPers
iOS and Android pre-installation
- Clone this repo
git clone https://github.com/icedcoffeeallday/CostPers.git
cd CostPers/frontend/
- Run
npm install
in your command line tool - For troubleshooting, see React Native documents running on device for your specific setup
iOS - macOS
- Navigate to
CostPers/frontend/ios/
then openfrontend.xcodeproj
in Xcode - Connect iOS device to your Mac
- In the Xcode menubar, select Product, then Destination, then choose your device from the list
- Register for an Apple Developer Account, if you don't have one yet
- In the Xcode Project Navigator, click the "General" tab and in the "Signing" section make sure your Apple developer account or team is selected under the Team dropdown. Do the same for the Tests target in the project
- Press cmd+r
(⌘R)
to build and run app on local iOS device
Android - macOS, Windows
- On Android device, first enable the "Developer Options" menu by going to Settings → About Phone then tapping the
Build number
row at the bottom seven times. - Then in Settings → Developer Options enable "USB Debugging"
- Plug in the Android device to the development machine via USB, confirm the singular device is properly connecting to ADB by running
adb devices
in command line and verifyingdevice
is displayed in the right column - Type
react-native run-android
in command prompt to install and run the app on the Android device