Gift Tracking Website using Roda and Sequel
jeremyevans/giftsmas
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
master
Could not load branches
Nothing to show
Could not load tags
Nothing to show
{{ refName }}
default
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
-
Clone
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.
- Open with GitHub Desktop
- Download ZIP
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
= Giftsmas Giftsmas is a web application designed for keeping track of gifts people receive during an event. It is designed around a moderate size family keeping track of all gifts that any member of the family received for Christmas. == Demo If you just want to play around with a demo, go to http://giftsmas-demo.jeremyevans.net and login with demo/demo. == Command line setup After cloning the repository from github, switch to the giftsmas directory: cd /path/to/giftsmas Install the necessary gems from the Gemfile using bundler or rubygems. Create the db and run the migration: createuser -U postgres giftmas createdb -O giftmas giftsmas sequel -m migrate postgres:///?user=giftsmas Create an appropriate .env.rb file storing the rack session secret and database connection URL environment variables: ENV['GIFTSMAS_SESSION_SECRET'] ||= '...' # >=64 bytes ENV['GIFTSMAS_DATABASE_URL'] ||= case Giftsmas::GIFTSMAS_ENV when :production 'postgres:///giftsmas?user=giftsmas&password=...' when :test 'postgres:///giftsmas_test?user=giftsmas&password=...' end Create your user(s): irb -I. -rmodels irb(main):001:0> User.create(:name=>'...', :password=>'...') Modify the configuration for the server, if necessary: $EDITOR config.ru Start the server: rackup == The web interface Giftsmas, when run with rackup, runs on port 9292 by default (you can modify this in config.ru). So open up your webbrowser: $BROWSER http://localhost:9292 It will redirect you to the login page. Put in a username and password that you created earlier and click "Login". It will ask you to create an event. Choose an event name and click "Create New Event". It will put you on the add gift page. Put in a gift name, sender name(s), and receiver name(s) and click "Add Gift". It will add the gift to the database and put you back at the add gift page, but this time you'll have checkboxes for the senders and receivers you entered. If you want to use a sender or receiver that's not in one of the select boxes, type the name in (you can separate names with a comma). This is true even if you want to use a sender or receiver that doesn't have a checkbox (you can always type in the names, it doesn't create duplicates). == Other pages === Event * Associate Receivers: You can use this to associate other people as possible receivers in the current event (so they show up in the receivers select box on the add gift page). Mostly useful if you have multiple events and most of the people in this event were also in a previous event. * Associate Senders: Same as Associate Receivers, but for senders. * Change Event: Change the currently used event, either by picking another event or adding a new event. === Reports * In Chronological Order: Simple report listing all gifts received in chronological order. * By Receiver: Gives separate reports for each receiver. When printing the reports, uses one page per receiver. * By Sender: Similar to By Receiver, but for senders. * Summary: Shows the total number of gifts, as well as totals by sender and receiver. * Summary Crosstab: Shows for each sender/receiver pair, how many gifts the sender gave the receiver. * Thank You Notes: Gives separate reports for each receiver, showing gifts received from people who weren't receivers at the event. When printing the reports, uses one page per receiver. === Other This are simple scaffold pages for changing data in the database. You can use them to rename an event, person, or gift, to modify senders/receivers of gifts after they have been added, or to delete gifts. == Running the specs === Prerequisites to run the specs * rake * minitest 5.7.0+ * capybara === Setup Create the db and run the migration: createdb -O giftsmas giftsmas_test sequel -m /path/to/giftsmas/migrate postgres:///giftsmas_test?user=giftsmas == Running the specs The specs are run with rake: rake spec # Unit tests rake integration # Integration tests rake # Both == License Giftsmas is released under the MIT License. See the LICENSE file for details. == Author Jeremy Evans <code@jeremyevans.net>
About
Gift Tracking Website using Roda and Sequel
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published