Giter Site home page Giter Site logo

moretticamp's Introduction

Matt Moretti (werebus)
Repository Stats Activity and Community Language Usage Issue Resolution

moretticamp's People

Contributors

dependabot[bot] avatar werebus avatar

Watchers

 avatar  avatar

moretticamp's Issues

Exception notifier

Good to get some sort of indication that people are having trouble with the site.

No alternate grey rows on print-outs

This is pretty much a browser limitation, but most browsers won't display backgrounds on prints. Theres a work-around that works for Chrome which I used, but Firefox, Opera, and IE all won't respect that.

There may be some sort of hack involving solid images, drop-shadows or somesuch, but I couldn't think of it.

Sidebar icons too wide for small

They're medium-vertical, so small icons make a horizontal icon-bar. Now with the added icons, though, the menu is too wide for the layout.

robots.txt stops Google Calendar

Interestingly, the Google Calendar fetcher appears to respect the robots.txt that I added in #3 That prevents the calendar from updating

Update SES method

The gem I'm using looks a little crusty these days. I can probably use this if I'm going to use the aws sdk for other stuff (like, perhaps #33).

You can invite an invalid user

The invitation interface allows you to invite a user with no name. This user is invalid but persisted.

When the nameless person tries to accept the invitation, the update and sign-in fail.

"Back" links

Most "Back" links just go to the #index. Would be better to go back with a fallback. Related to #30.

Error pages

They're fine, but they could also be customized a bit. Modify the style a bit, provide a contact email?

Expired login not apparent in calendar view

When a user's session is expired, the calendar stops showing events, but the buttons will keep working. I should check for 401s in the js and redirect to login when that happens.

Print view

I should spend a bit of time making the printout of the calendar look OK.

Add docs CNAME to camp-docs

For added professionalism, it might be nice if the Github pages branch of @werebus/camp-docs had a CNAME pointing to it. Something like docs.moretti.camp?

PDF view fails if no season

[This line][1] doesn't do what I intended. The default behavior of find a template and try to render it still happens, but there isn't a "pdf" template.

Desired behavior with no defined Season

  • HTML: render a not-ready message
  • ICS: All events (half-done, the #feed action does this
  • JSON: Empty collection (half-done by accidental nil-handling)
  • PDF: Flash and redirect, hide link in menu too

Email notifications

I was thinking that it would be nice to email people occasionally about camp-related news. But that perhaps people who are in another state, or who only really visit on the three weekends won't care. Maybe a per-user setting, and an interface to generate messages?

Calendar history

The following is a little unpleasant:

  1. Load the index (in June)
  2. Click forward to August
  3. Click on an event
  4. Click "Back"
  5. Be brought back to June

Unlink account?

Is it a good idea to allow people to unlink their account? What should the flow be? We don't want to allow users to end up in a state where they have no oauth credentails nor a password. Because updating your password requires you to enter your "existing" password.

Re-invite perhaps?

Use ruby to regenerate calendar access tokens

This method isn't at all secure. We have a method in the User model that is, we should be using that.

  • When you click the button, clear the box and set the place-holder text (something like "Will be regenerated")
  • Maybe set a hidden input field?
  • Stop accepting the token as a param, accept the hidden filed instead
  • Call the method on the user in the controller

Webpack-ifyed CSS a little slow

With 8ce4e87, I punted and agreed to just pretend that my CSS is actually Javascript.

This results in some pretty noticeable FOUC on every page load. Webpacker insists that it can emit regular CSS...

Missing `nil` check on invitation limit

ActionView::Template::Error (undefined method `>' for nil:NilClass):
     9:         = link_to new_event_path do
    10:           = icon 'calendar'
    11:           %span New Event
    12:       - if current_user.invitation_limit > 0
    13:         %li
    14:           = link_to new_user_invitation_path do
    15:             = icon 'user-plus'
  app/views/events/index.html.haml:12:in `_app_views_events_index_html_haml___2717908256454509502_70230142408120'

invitation_limit defaults to nil. This breaks for all non-admins.

Donations

Look into something like Stripe. Camp has a maintenance account, I think its possible to deposit into it.

Rails 5.1

I'm pretty excited; this should be a great upgrade.

ICal validation errors

Ran my feed through a validator and found some errors and warnings:

  • Line length should be <75. Descriptions can be folded
  • Lines should always end in CRLF
  • Events are supposed to have a DTSTAMP property โ€” Essentially, updated_at.

Background jobs

It'd be interesting to play with Active Job. The notification think might be a place to experiment.

Interface for invites

The only way to add new users at the moment is the rake task, but it'd be good to have something in the web ui. I think devise invitable can just do this, might have to make a few tweaks and construct a view.

robots.txt

We need one. It's a private site, so we don't need anything indexed.

Remove default scope on users

Default scopes are confusing and bad. There's probably very few places we have a alphabetic list of all users. just add an order.

Printout still pretty bad

Not only is there #6, but on many browsers the printout still features a stretched Saturday column because the FullCalendar js hasn't finished reacting to the change in size by the time the browser calls the page rendered. Would a 1 or 2 second delay fix it? Sounds hackey, but...

Alternate solutions:

  1. Perhaps a print link or button? That would allow me to do the js fiddling and then trigger the print action. It might help, but I suspect that the problem happens later than I can get a handle on
  2. PDF view? ( ๐Ÿ˜ฌ ) Could be worse, I guess.

Names aren't required

Created a test user and realized that neither first nor last name are required, which makes the site a little tough to use -- no link to profile in header, etc

Note indicator

You can see an event note by hovering over it, but it isn't visually indicated whether a particular event has a note.

This is especially a problem on mobile where "hovering" isn't a thing, so you have to tap on the event to see if it has a note โ€” a wasted trip if it doesn't.

Probably, some sort of unicode hackery can be used here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.