200ok-ungleich/swiss-crowdfunder

View on GitHub
TODO.org

Summary

Maintainability
Test Coverage
* Swiss Crowdfunder TODOs
** PROJECT Backlog
*** TODO Order Goodies on Campaign#show
I think it would be good to have a way to manually select an order
(i.e. if order is specified, map to that position, else do default) or
at least to push one goodie to the top.
*** TODO Order Campaigns on Landing Page
- Criteria
- Currently running with the most raised money or best "raised to
requested" ratio wins
 
** PROJECT Upgrades
*** TODO Upgrade Sass
 
#+BEGIN_EXAMPLE
Post-install message from sass:
 
Ruby Sass is deprecated and will be unmaintained as of 26 March 2019.
 
* If you use Sass as a command-line tool, we recommend using Dart Sass, the new
primary implementation: https://sass-lang.com/install
 
* If you use Sass as a plug-in for a Ruby web framework, we recommend using the
sassc gem: https://github.com/sass/sassc-ruby#readme
 
* For more details, please refer to the Sass blog:
http://sass.logdown.com/posts/7081811
#+END_EXAMPLE
** PROJECT Swiss Crowdfunder
 
*** TODO Link =public/uploads= through cap after Nico has configured the folder
*** TODO Add logic for GlarnerPick
- [ ] Only one can be the GlarnerPick
- [ ] Unlock the code from _campaign_card.html.erb
 
*** TODO Discuss logic for categories with Nico
- [ ] Unlock the code from _campaign_card.html.erb
 
*** TODO Send Email on Order#create
- [ ] Campaign Model: E-Mail
 
*** TODO Don't respond to JSON/JS requests
- [ ] Some Java crawler request campaigns as JSON/JS
*** TODO Re-Add SRE team and Mattermost notifications
*** TODO Add Background worker
- [ ] orders#create Email
- [ ] orders#create Mattermost Notifications
*** TODO Contact form
*** TODO Discuss deleting parent resources logic with Nico
 
When destroying a Goodie which has Orders, what should happen?
 
- Delete the goodie and nullify foreign_keys in Orders?
- Show a warning and don't delete anything?
*** TODO campaigns#show: Add update ticker
- [ ] Add tabs to campaigns#show
- [ ] Add CampaignUpdate Model (markdown)
- [ ] Let every CampaignUpdate have it's unique URL nested under Campaign
- [ ] When going to a specific CampaignUpdate URL, go to the tab and
scroll to the specific update.
- [ ] Alternatively let only have CampaignUpdates have a unique URL
for the tab as a start
 
*** TODO Handle 500 with separate page (analogous to 404)
- Right now, there's a redirect to the 404 page, so that kinda works!
*** TODO Implement Stripe
*** TODO Replace application.html.erb fonts and font-awesome CDN with local variant
*** TODO When a campaign is not yet active, allow for users to subscribe to the newsletter
*** TODO As soon as users can create/modify/delete resources or login: Implement global lock-down
- See [[Security]] for more information
 
*** TODO i18n custom model validations
*** PROJECT Secret Keys
 
- [ ] More secret creation of Admin User than through =db/seeds.rb=
- [ ] More secret devise keys than in =config/devise.rb=
- [X] Do not expose =SECRET_KEY_BASE= in this README
*** DONE Create landing page
- [X] Add a flag 'active' on Campaign Model
*** DONE Mail icon
*** DONE i18n all the strings
*** DONE Integrate Favicon
*** DONE Reconfigure GA link to the proper URL
 
*** TODO Add =config/settings= to cdist
 
** PROJECT Ready for Ungleich Crowdfunding
 
*** DONE On create order/user: Send Notification to Mattermost
*** DONE From orders#show, have a link back to the campaign
*** DONE On creating a new Campaign, there's already two supporters :bug:
*** DONE Wenn start_date Kampagne nicht erreicht
- [X] 'support' seite link ausgrauen
- [X] 'goodie' weiter button ausgrauen
- [X] 'order'#create verbieten
 
*** DONE Validierung für Anzahl > 0 Goodies
- [X] BO: -1 for Infinity
- [X] Validation
- [X] On goody: Disable button when there's no remaining_quantity
- [X] Inform #crowdfuding on new logic
*** DONE As a user, when on campaigns#show, I want to see either when the campaign starts or when it stops in "days remaining"
*** DONE Add ExceptionNotification E-Mails
- [X] Nico: Setup server side mail delivery
- [X] Test mail delivery
- [X] Activate Mattermost notifications
*** DONE Camgains#show/Goodies#index: Show original and remaining quantity
*** DONE NF: SEO friendly URLs for Campaigns
*** DONE Address: Street, #, ZIP, City, Country
*** DONE As a user, when checking out a goodie, I want to be able to pay with my bank account
- Gleicher FLow wie jetzt
- Anstelle CC Form: Bank-Einzugs Info
*** [100%] NF: Nico should confirm
 
- [X] Test itinerary
- [X] cdist run
- [X] SSL
*** DONE Text Feld auf Order: Bank Einzug
*** DONE [100%] Redirect root to Nicos campaign
- [X] Actual redirect
- [X] Feature Specs
*** DONE Handle 404s
*** DONE campaigns#show: I18n supporters
*** DONE Regression: Progress bar doesn't work
*** DONE As a user, when ordering, I need to give my email address
*** DONE NF: Capistrano Bug - Migrations run on every deploy
*** DONE Campaign Model: Introduce optional FB and Twitter Links
*** DONE NF: Eval - Users as Nested Attributes through Orders
*** DONE [100%] NF: Integrate FactoryGirl
- [X] spec/features/admin_spec.rb
- [X] spec/features/campaigns_spec.rb
- [X] spec/features/application_spec.rb
- [X] spec/features/root_spec.rb
- [X] spec/models/supporter_spec.rb
- [X] spec/models/campaign_spec.rb
- [X] spec/controllers/orders_controller_spec.rb
- [X] spec/controllers/root_controller_spec.rb
 
*** DONE As a user, when checking out a goodie, I want to give user-info: Name, E-Mail, Date of Birth (>=18)
- [ ] Validation
 
*** DONE NF: Global Lock-Down
*** DONE Remove icons from Goodies
*** DONE NF: Introduce capistrano for deployment by everyone
*** DONE Introduce "About Us" Page without content
*** DONE Introduce "TOS" Page without content