Closed pixelyunicorn closed 5 years ago
I feel like we should start by copying meetup's functionality (that are most familiar to organizers and attendees), then add features from there!
I agree. Do we have any Meetup power users onboard? Maybe a list of features for starters.
May not be a v1 requirement, but something that would be useful for discoverability would be a tag-like system where I can say "I'm interested in X, Y, and Z" and Organizers can say "We typically cover X, Y, and Z topics" Something like Github's Topics perhaps
what the mvp looks like to me:
What @QuincyLarson said just saying it in my words: Seeing what alternatives have done best and kinda mimic it into this would make it great.
We're building https://confy.app
Its an alternative for meetup.com with the following stack:
We would love to make it open source and partner with freeCodeCamp community and offer free meetups.
@pixelyunicorn
I feel like we should start by copying meetup's functionality (that are most familiar to organizers and attendees), then add features from there!
I agree - we should start by stripping their features down to the bare essentials.
adding to @keyserfaty's list, we should implement the queue/waitlist for highly demanded events :)
Also:
Also:
- allow people to cancel RSVP
Agree
- ability to contact members: a. all of them b. those going to the event
Sounds like v2 to me
maybe cancel RSVP could go into a V1, it is (soft)deleting the record, contact members is definitely a v2
another thing that could go to a v2 is a meetup.com compatible API for those apps that use meetup as a data source.
(similar to those services that have an S3-compatible API for integration purposes)
https://discordapp.com/channels/633401573002969128/633401573002969132/633416435019939874
Not saying an API is in the MVP, but Greenville, SC we have a simple event API tool to syndicate the Meetup.com and Eventbrite.com meetup event data to show a full tech calendar on hackgreenville.com and allow others to build apps using the open data.
Moving off Meetup.com will basically break our tool until we have a way to scrap or hit an endpoint to get the same data. So, from our own "what will break when people move" perspective, a lack of an API, or at least rich snippets that can be scraped, will break some existing community tools developed by Code For Greenville.
OK everyone - here is my bare bones description of what this tool needs to be able to do. We've already built some of this out here: https://study-group-directory.freecodecamp.org
I arrive at the home page.
-> System will show a search box with "[ Where do you want to attend an event? ]"
I can start typing a city, state, or country name, and it will autocomplete.
-> System will show upcoming events in/around that location.
I can click on one of the event names.
-> The system will show the "show view" for that event's group, with details about the upcoming event, along with a button to RSVP.
I can click the "RSVP" button.
-> The system will prompt me to sign in. It will send me an email with a ticket and add me to the public list of event attendees.
-> The day before the event, the system will email me again with a ticket and reminder.
-> After the event, I will automatically get emails notifying me of subsequent events.
I can create a group.
I can edit details about the group, including a Slack/Discord/Facebook/WeChat/WhatsApp link participants can join to discuss and coordinate events.
I can create events, and set their location and capacity.
I can cancel events.
I can email the entire list of participants.
I can ban a participant whom I believe is toxic or who has previously broken the code of conduct.
I can add a venue sponsor to the event with a link to their website as a way of thanking them for hosting.
I can add a food sponsor to the event with a link to their website as a way of thanking them for food.
@allella that's cool. don't think you'll be able to replace meetup with this tool right away. sounds like an important feature but definitely not the first thing we should tackle. but sounds great for v2.
Great idea to have the homepage dynamically surface events tailored to IP address.
Great idea to have the homepage dynamically surface events tailored to IP address.
That would not work for people behind VPN. I would just prefer decent search engine based on typed location.
I guess I should ask if the v1, or even v2, is intended to host non-FCC groups, or if this is for the FCC universe?
@allella I guess any group, even non-coding related. @vunderkind Great idea for a v2 or v1.x 😄
Some features we need as organizers because some venues ask for this info (meetup currently has these, fields aren't required though)
Could also be v2, but organizers often will link to an organization landing page and specific event instances. Having public URLs would shortcut the "enter city", "find your group" steps if someone already knows why they are there. Also, having some structured markup, like event rich snippets, on the org and event landing pages would offer at least some basic API alternative until such time as an API could be built.
I'd be motivated to assist with the event markup and API development since I volunteer to support tools that need a way to get at the event data through a script.
@nhsz Yep I see those in a v2 probably
~Thinking about a tech stack...~
Moved to #2
I'm sure all cities have different needs, but here's an idea of what we consider a "tech meetup" in Greenville, along with an API behind that holds info about all our organizations in the area, the organizers, where they post events, API endpoint keys for the event service they use.
Might be a nice v2, v3 feature to allow each city to have a similar list of all the organizations by certain tags or categories. Basically, I'd be glad to replace our homegrown orgs and events data and APIs with a service that all cities could enjoy.
Hey, I've built a good chunk of this already. Happy to chat about what I have. The intention is to release it as OSS and would like to collaborate on efforts
EventoL is the platform that uses the Python Community in Argentina to managing their events E.g.: PyConAr 2019
Mobilizon from Framasoft is a french solution that aims to replace Facebook Events and MeetUp applications by a ethic, free and open-source solution (which could be self-hosted in the future). The project has already collected more than 50000 € for the development. UX designers are already working on it, please consider this solution before recreate something else.
Great idea to have the homepage dynamically surface events tailored to IP address.
That would not work for people behind VPN. I would just prefer decent search engine based on typed location.
I think it just be first location based, through the Browser location API and in case of negative response, based on typed location
Are we going to have a central document holding all the features we've agreed on, and what are the next steps/structure for building this?
Pardon me if these questions are naive. First time collaborating on an open-source project, ever.
How about using GitHub as a meetup platform?
https://mobile.twitter.com/dev__adi/status/1183873754679537666
How about using GitHub as a meetup platform?
Not really what it was made for.
It should be a section of freeCodeCamp or an independent platform? Random ideas: 1) Maybe "Free Meet" or something similar could be a good name for it. 2) Maybe it should be made with the stack that people can learn in freeCodeCamp (React, Express, Mongo), so all the students can contribute to the project :)
I guess I should ask if the v1, or even v2, is intended to host non-FCC groups, or if this is for the FCC universe?
This will be a self-hosted web app that any organization (Rotary Club, Women Who Code, Sierra Club) could use to coordinate their events. Ideally it will be a one-click server deployment and will run in a docker container. And an admin will be able to configure a few settings and have all the data stored on their own database.
Are we going to have a central document holding all the features we've agreed on, and what are the next steps/structure for building this?
Pardon me if these questions are naive. First time collaborating on an open-source project, ever.
Good question. I'm working on a Readme. We can use that as our central planning document, and GitHub issues to discuss design ideas, implementation details, and answer questions.
It should be a section of freeCodeCamp or an independent platform?
This will be a self-hosted tool that any organization can use - ideally without needing to fork this repo.
- Maybe "Free Meet" or something similar could be a good name for it.
We can figure out a name later. I usually prefer names that do a good job of describing what the tool does (Bingo Card Generator is a good example of this.)
this is not for the MVP but maybe in the future add a new role like 'Venue' and the organizer can post a solicitation for venues and the venus offer to them their Venue...
I think a good model would be self-hosted for meetup owners, but then also a centralized aggregator so that as a user I can go to one site to find any local groups that choose to be aggregated.
Sites opt-in to be listed, and when new events are posted they send the title, subtitle, time and location data, and teaser image to the main site.
A big question about user accounts: per site or global?
Per site could be annoying, but global means it can be tracked and sites are not able to operate independently. I guess I’d lean towards per site on this.
Having a mobile app version is also important.
The stated README direction is to roll a new solution.
I thought to aggregate the links shared in the Discord channel and Ycombinator thread about open source and commercial alternatives. These could act as a point of reference to tickle the brain for core/v1 features and future features.
Ideas Posted Publicly in the Discord between the start of the project and 4AM EST on Oct 15th.
All usernames below are Discord names and may not match Github names.
Hey, just copying what I wrote on Discord here. Delete / merge me if you think that's a really bad idea ;) :
I think we're facing a major problem: each effort that relies on some centralized infrastructure will lead towards the next meetup.com again. So while you for sure can improve things, come up with a splendid UX, put everything on Github you'll still end up having to pay server fees for your central application instance.
If you start to build a "hub" like system (e.g. like Mastodon, maybe even with P2P features) you'll end up explaining newbies how to get it installed and running. It's great, since no one could stop it but I think you'll still need some "central" instance to e.g. discover meetups in your area. And you for sure will need some kind of "RSVP" mechanism.
Now, what we've been wrapping our heads around for some time (and we'd LOVE to see it coming) is to build this as a Đapp, most likely on Ethereum. In our current model each event is built as smart contract, initiated by the event host. With more economy logic you could hand over, join or close events, you could even charge for them on an individual basis. The process of joining events is either a "token exchange" (each event could have its own token) or a simple persistent attendee list.
We've developed that idea during the last EthBerlinZwei Hackathon and it's called ĐOor (https://github.com/cod1ng-earth/dOor). Since it's a Đapp, it's only working correctly when opened inside an Eth wallet aware browser (metamask, Brave). We built that event system just to enable our hackathon idea: opening an events' "door" by signing a shared secret (looking for zk engineers here :D) by an attendee. The code is hackathon grade ;) https://devpost.com/software/door
Pros:
Cons:
To remedy the last point: the concept of a Gas Station Network helps to pay gas fees by event hosts upfront. If you never heard about the Eth infrastructure you can think of gas as a roughly comparable concept as "hosting fees".
A good feature will be to have QR code generation for Lunch, Goodies coupons. That way we can reduce use of paper coupons and vouchers. Those can be generated as QR codes sent to participant's email ids and can be scanned at venue using Chapter's app.
Not only that reduce the cost for organizers, but also make it easier for participants.
An important feature for me is being able to save the event directly into my calendar (on mobile). But I guess that might be v2. I'm happy to help with the development. 😊
I agree with @espipj
As a participant, I want to subscribe to a calendar of a) the events I'm attending b) all of the events in a group and c) all of the events in a geographical location
Maybe with some other variations/filters applied too. We could make some sort of API endpoint that returns a calendar format.
I would like to help with the dev part of this platform if possible =) the frontend part.
Another feature that from the organiser POV is quite important IMHO is the ability to add custom fields for the "customer" to fill in when obtaining a ticket/signing up for an event.
When I first heard the news, I immediately began creating a image in my mind of what I thought a nice MeetUp replacement would look like. I thought I'd share the overall feel of the product I envisioned. I realize it is more radical than what seems to be proposed, but maybe there are some interesting insights to glean.
My ideal event organizer:
TLDR: There should be a way to host an event and have people RSVP w/o anyone needing an account
I think, marking attendance using QR code would be an useful feature. Helps to ensure that only the invited people are being allowed and would be faster than manual checking from a printed paper as I have seen till now.
In the area of @allella and @localjo's comments about event syndication sites and APIs, I suggest part of API should be vCalendar feed of all the organization's upcoming/past events. vCalendar has good compatibility with existing calendar import/sync tools, e.g. a WordPress plugin that can display a calendar that aggregates one or more vCalendars, or a Google Calendar used to do the same.
(I would suggest that a way for participants to see all events from a particular organizer in a calendar app is different scenario... not necessarily best-served by vCalendar API, although that's sometimes how it's done.)
Related, I think it would be helpful to very clearly define the "organizer" persona... is it A) a person, perhaps with a few compatriots, that hosts a chapter site, leads/attends all events listed on that site, is responsible for future events, at the cost of hosting that instance of chapter, as part of the group's own website... OR, is it B) a person running a community events site (e.g. someone in the chamber of commerce at a small city, marketing the city by exposing as many events as possible on events.name-of-small-city.com) in redundancy with As but also providing a service to organizers who don't want to, or don't think to, host such a site.
Ideally chapter could serve both personas well, but I think it's helpful to decide which is which. I think meetup.com did not segment these well and only really serves A, not B. (meetup.com's regional search/notification features serve its own business interests, C.)
It looks like this has already all the features you're looking for, including federation https://joinmobilizon.org/en/
I think it would be beneficial to add a tag id column to the events table and add tags table, so we can add filters for specific tags. For example, if I'm interested in attending meetups for JavaScript, eSports, and hiking, I want to be able to filter all events for these specific tags and return those results.
Continuing the conversation from Discord!