teawithstrangers / tws-on-rails Goto Github PK
View Code? Open in Web Editor NEWCore Tea With Strangers application
Home Page: http://teawithstrangers.com
Core Tea With Strangers application
Home Page: http://teawithstrangers.com
There's no mailto:[all attendees] link for the hosts to conveniently email the whole group, that would be awesome for all sign ups (attendees + flakes), all attendees, and all flakes
Email delivery throws an exception due to changes introduced in 7130cee
We probably don't want to included flakes in emails sent to the tea time attendees.
E.g. for a city /cities/san-francisco/
and /cities/san-francisco/ankit
for a host
Let's add more validation and testing around attendances. Might be best to create an instance method on the TT itself that returns a valid object and never manually instantiate one.
Making the markup in _host_tea_time_info.html.haml
conditional on if there are attendees or not. Right now, if there are no attendees, there's still an attendees title.
Basically remove the assets gem, prepare a rake task for pushing updated assets up to S3
Sorted by city / tea time attendance / timestamp of events (sign up by site, sign up for tea time, tea time dates)
I've gotten word from several tea timers that the .ics file attachments have inconsistent discrepancies from the actual tea times. This is leading to lots of confusion.
I've seen from one group that the cal invite was set for 1hr earlier than tea time. I've seen from another that the cal invite was set for 30min later than tea time.
This is really important to sort out asap.
Right now, all the user registration emails are angled towards encouraging users to sign up for a tea time, but if they're in a city where there's no hosts or just one host, I'd want to create a new user registration email for them. @nickbarnwell when could we get this done by?
Hosts get email confirmations when they create tea times with calendar event attachments (akin to how tea comers do)
Right now, when people flake, they hit a button and that's that.
At the least, we need an 'Are you sure?' modal.
But really, we should have something like what's seen in the modal here, and we should be collecting the reasons to learn more (eventually, radio buttons with an 'Other' explanation would be good, but I don't know enough to effectively write options here.
If a tea time is full, 1/5 people will almost certainly cancel upon receipt of reminder email. But to ask people to just refresh the page around noon on the day of a tea time is a lame way to have them fill in empty spots.
I think the button for a full tea time should be 'WAITING LIST', and the person signs up as normal, but they get an email confirming that the second a spot opens up, they get notified by email and have a chance to fill it in.
I could imagine this feature being stepped up a notch and actually keeping those spots open exclusively for wait-listed people for the first two hours or something before opening to anybody else, but I'd say that's less important.
Moar concurrency, less memory.
To filter the users by certain constraints, it'd be great to have a dashboard to filter, compose, and send messages in a seamless way. I don't know how complex each of these components is to build
Ack for them. it's somewhat scary :x
If a user wants access to multiple cities with ease (i.e. select a primary locale, but add others as ones they go to often), it'd be great to allow a user to add locales they'd want tea time access to.
I imagine users having a schedule that's made for them and their chosen locales (i.e. when UserX is logged in + goes to teawithstrangers.com/schedule, he/she sees all tea times in all their locales in one place). So teawithstrangers.com/cities/[city]/schedule = relevant for non-logged in users; teawithstrangers.com/schedule relevant for logged in users. See #97 for more detail.
Currently JSON responses are undocumented and in some cases not built. Finish creating the API endpoints for these so people can build on top of the TWS interface and data
There should be some way of indicating to a user who's trying to join as a new user that they already have an account (and should, thus, enter their password or use the 'Forgot your pw' interface)
Ideally, this would be triggered once the host has marked attendance for the tea time (i.e. marked no-shows, as anyone else would've marked their own attendance status by signing up and going OR 'flaking' on the interface and not going.)
That should be done within an hour of tea time ending (mobile interface), after which two emails would be fired out:
Look through and make sure that permissions are properly evaluated in all contexts and controllers
It'd be so dope to have a simple app where you log in with TWS credentials, see slots available, and book spots from the app.
Biggest value prop here, methinks, is push notifications when tea times slots open up same-day + integration with calendar. Would also be great for messaging with the hosts or tea time groups after tea time, but that's def a second order priority.
There are some iOS devs who are down to help with this, but I imagine it's important to have the API ready before this is possible.
Is this a realistic goal within the next 2 months (API, announcing open source, and working with more devs to build this)?
City pages without any hosts (i.e. cities that are 'Warming Up') should have a special view as seen in the Dropbox folder.
Quick q @nickbarnwell
Create a view for a host to reassign their tea times to another host
reassign!
on TeaTime
that takes a User
and does update_attribute(host_id, user.id)
, validating that User
is a host or adminProfileController
for reassigning to another host with a dropdown list of all hostsAny host currently has access to /tea_times and can edit any tea time, but any edits saved from a hosts’ account makes the tea time theirs. This should not be the case. Edits made using /tea_times/X/edit should only change host IF the form for host reassignment is used. Clarity:
if Ankit edits Amy’s tea time but does not change host and clicks ‘Update’, it is still Amy’s tea time. Ankit just updated it.
if Ankit edits Amy’s tea time but does change host and clicks update, it becomes the new hosts’ tea time (even if new host is not Ankit)
Right now, the reminder emails are going to everyone that ever signed up for a tea time (so it includes people that signed up and flaked before the reminders were sent.)
Because lots of sign ups might be flaking in the next few days / weeks (just given high traffic and desire to secure spots because they were in demand without actually thinking of if they could actually make it; people just want to host their spot when they know it might not be available) so there's going to be a lot of irrelevant emails going out.
Do you have an existing strategy for getting development data?
I usually make a seed_dev.rb file in db/
and a rake task that resets the db and loads the file to make fake data.
On the host dashboard, hosts just see all attendees' (including the flakes) names linked (mailto:[email protected]), but no separation of attendees/flakes (i.e. a section of attendees and a section for flakes for each tea time; i feel there IS use to showing flake names even though they're not coming in case it's needed for any sort of relevant comm)
Right now, the only reminder email is coming the morning of tea time, seemingly sometime around 9am no matter when the tea time is happening (i.e. a 1pm weekend tea is getting a 9am notice (4hours) just as a 7pm weekday is (10hours)).
There should be an email 48hrs before (would probably lead to more advance-notice flakes) and another email 12hrs before.
I know an impediment here is the time zone problems, but let's please get this sorted out the second time zones are fixed plz!
Thanks so much <3
For warnings, messages, and so on.
After joining for tea time, everyone gets a confirmation email with details of tea time. Purpose = get them to put it in their cal.
Thinking harder about this, more and more people will be joining for tea time without having stalked its journey or hearing about what it was like for someone they know. That said, I think there is a place for a 'What tea time is about' email. I'm going to draft this later today (while converting all the other emails to .md.erb), but it should go out separate from the confirmation email.
Can we add this to the user_mailer file @nickbarnwell ?
Example of an etiquette / guidelines email from Pinterest a few years back:
Essentially expose DB for marketing/user activation purposes, e.g. drip marketing.
Can hosts receive emails every time someone signs up for or flakes from their tea times?
Currently emails are delivered immediately during the request/response cycle. Move them to use delayed_job, sidekiq, or something similar
Right now, a host can't see their own tea times on their dashboard, but they should be able to see that in addition to the attendees + email addresses.
user_registration, tea confirmation, tea reminders, tea cancelation, and tea flake emails are all plain text. I'd like to be able to incorporate some linked text and gifs in these emails, so would love if we could implement an html.erb variant (with the .text.erb there to serve as backups)
Current photos for all cities and splash page are massive. Would like something more reasonable for desktop but if on mobile would prefer smaller
Not sure what best practice is here. Should they be same size for both?
Move logic out of controllers, especially for e.g. User registration
Per: https://devcenter.heroku.com/articles/newrelic#ruby-configuration
Re inder to 'e. This keyboard's ' ' key is broken
Right now we assume everyone is using Gmail to send test emails in development. Let's make that configurable.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.