Giter Site home page Giter Site logo

commudle's Introduction

[This further developed source code of this project is now private. We've shifted the front end to the latest version of Angular. You can continue making contributions to it!]

Commudle

This is a platform for all the tech communities around the world, which is focussed on managing the communities efficiently. It's a direct result of the personal experiences and feedbacks from different tech community organizers. The uniqueness lies in the process flows incorporated.

Looking for contributions from the community and full time maintainers/contributors who can take this forward.


Index


Why Commudle

We have been able to successfully manage more than 5 events in the past 6 months with one of them having 2200+ registrations, >600 attendees, 6 tracks and 30+ speakers.

We have about 5000 members signed up already!

The name's explaination remains a secret which we'll reveal soon. Till then, whenever we are oranizing tech events (which we believe for smaller communities is more about spreading awareness, sharing knowledge and networking), they are free. But as organizers, a lot of effort still goes in and yes, the members are always on the lookout for more and more events and things to learn.

Taking from the personal experiences of how some well managed, free communities have evolved such that they are able to generate good excitement and footfall, we have tried to incorporate the process flows for the following till now:

  • Easy community & event setup and management
    • Reusable forms
    • Support for Multiple locations and Multiple Tracks
  • Centralizing the registration and shortlisting process
    • Inbuilt forms
    • One click status update for each registration
    • RSVP emails where users can confirm
    • Real time tracking of attendance by unique codes There's a lot of things coming up in the pipeline!

What makes this different

It's created to solve the problem of the creators. Being at a very stable yet young stage, it can be modified majorly to incorporate as many use cases for different communities across the world.

We will soon be able to track actual ROI in terms of skills imparted by actually interacting with users automatically to track if they have been using the technologies introduced to them.

It's free to use, will always be!


Support and communications


Summing it all up, we're looking at creating more and more projects soon, this being at the center of them all, you'll soon be able to host every project you create, with us!


License

commudle's People

Contributors

abhinav99ash29 avatar arpansac avatar gagangupta19 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

commudle's Issues

Make the `Preview` button sticky in lab editor/creator

image

The problem:
As I keep adding more content to the lab, previewing it becomes difficult because I have to keep scrolling up to preview it and then scroll back down to continue editing

The solution:
Make the Preview button stick to the top

Write Tests

Let us incorporate tests in the application.

Update the setup instructions

There are minor changes that needs to be done to setup instructions. I have proposed changes inline to the file. Thanks.

Improving documentation

Here's the steps you can follow:

  1. Setup and run the code on your system.
  2. While following the steps if there's any bugs, places you get stuck (some obvious things you think need to be added), add them to the comments here to be verified by the admin
  3. Once verified, create a PR to update the documentation

Integrate Google Maps API on locations

On the event page (example: https://gdgnd.org/gdg-new-delhi/events/devfest-18), we right now put in the name and address of the location with a short url of the map.

The map then gets populated according to the short url.

Specific task:

  • Use Google Maps API to search for a location and automatically save the name and address from that into the database + prefill the short url too.
  • Add/Save city from a different model (dependent on #4

Real time updates on discussions & comments using Sockets

Interaction Points

Users can right now add comments on an event page and also participate in discussions on different talks/sessions delivered by speakers.


Technologies to be used

  • Web Sockets (preferably socket.io)

Specific list of tasks

  • Show real time updates:
  • On discussion cards and session discussion pages if a user creates a discussion on a page which I'm currently browsing
  • For comments on discussion cards
  • For comments on events
  • We're using noty.js to show notifications, probably the same can be used for it

Comment is a polymorphic model being used at both events and discussion cards

Make the customization bar sticky in lab editor/creator

The problem:
As I keep adding more content to a section, it becomes increasingly difficult for me to go up, select any text customizations like lists, text alignment, etc.

The solution:
Make the whole customization stick to the top for every section so it becomes to edit the content when writing in the lab editor.

Add city to Communities & Events

With the platform spreading to more and more communities across, it is essential for a us to integrate the option to show nearby events & active communities.

While browsing the website, if we can detect the user's city, we can show him/her the latest going on nearby and probably also by the tags being followed ( #1 ), which is going to be a major task


Specific Tasks

  • Create a model City
  • Add field for city in events and communities
  • Ask for the user's city in the browser (auto detect using JavaScript APIs)
  • Give the user an option to change the city from a dropdown in the header navbar (from the available cities

Chain of communities

With multiple communities signing up, there are chains/multiple chapters of the same community signing up. We want to show them as related on the platform.

Here's a set of thoughts currently in my head, let's brainstorm a little before you can submit a proposal, this will contain a number of tasks.

  • Model changes, create a new parent model for communities
  • A page to display all the communities present in a group
  • Model UserRolesUser should also contain a field for group (or probably be made polymorphic) so that we can add group managers/organizers/admins
  • Data form entity is a generic model with a polymorphic parent, the group managers should be able to float a form for all the organizers to fill and also for members if they need to
  • Stats, display the overall latest activity and the numbers related
  • Create an event template for a generic event series (example if GDGs need to do an I/O Extended, the group organizer can create a template for all of them and they can choose to accept it and then decide a date) [This might itself be a major change, but would be very interesting!]

Open to discussions and detailed proposals

Not able to login.

When try to login, i am not getting any otp to my mail address. Tried all the things :)

Show list of attendees & community organizers

A small thing to implement, but been pending for some time now:

Specific List of Tasks

  • Show a list of attendees (mini thumbnails which shows the name when hovered) on the event page
  • This would be publicly visible after the event has completed
  • Link it to the user's profile page

Allow communities to sign up, with verification

As of now, there is a page for creating a community, but it can be accessed only by an administrator. Allowing users to create their own communities makes takes it a step further as a part of the near future vision where we want more people to utilize the platform!


Specific List of Tasks

  • Show create a community button in the header, it should take the user to the page where he/she can create a community (already present)
  • Add the user to the list of organizers of that community automatically
  • Add a boolean field 'verified' which is by default false, so when a user creates a community, it is visible only to him/her unless verified
  • Add a field 'verified_by' which references a user who has the role 'System Administrator' (we're right now limiting this right to admins for some time, later on we might move it to a referral system, but it will remain a closed system)
  • Create a page for the administrator to view the list of all communities (showing unverified communities on a different tab
  • Administrator, once verifies a community, a mail should be sent to the user who created the community

Commands in project setup readme need improvements

We should update the contents in the readme local setup file as there are things like running rails db:setup twice creating conflicts of duplicate data while using rails db:seed so it should not be used again for better documentation.

If you will allow I will propose a PR regarding this @arpansac and would like to make changes.
-Fixes #28 #27 #25

Upgrade the version of Rails

Exactly as the title says!

  • Go through the breaking changes, deprecated methods
  • Upgrade to the latest Rails version

Allow multiple speakers in one session

Right now, a session in a track can contain only one speaker. Since there have been sessions wherein there can be more than one person, let's allow adding more than one speaker in a session (though they both will be filling the call for paper form individually)

Home Page Design

Looking to improve the design of home page, right now it's very functional, having 3 lists:

  • Upcoming events
  • Communities
  • Recent past events

All of these are created using various partials. We're looking for a better, more welcoming design and a little more information on the home page.

Some suggestions/features to include (apart the above three):

  • Most popular talks & discussions [we'll later make it better it when #1 is completed]
  • Upcoming nearby events [based on location from the user, this will be dependent on #4 ]

We're looking for wireframes with an explanation of your thought process, since this is going to be the home page, it's something of a major change

Improve the list of registrations page with filters and more information

A major one!
Right now, there's a view responses page for each form set which contains a form assigned to it on the event home page. This shows a list of all the responses for each question present in the form and is in the form of a table with a fixed header.

This is a page which has already increased the efficiency of organizers by 3X because of single click status update for shortlisting attendees for an event

We need you to improve this experience by adding filters for different answers for the questions (which can be subjective/objective). Probably, filters like e-commerce websites on the left hand side of the table should be good, but that's just a thought.

Showing some additional information with the registration, in terms of how many events the user signed up for --> got shortlisted --> actually attended would be really helpful. Probably we could color code them based on regular and new and constantly absent

Looking for a wireframe on this before we begin. The next step would be #9

Tags for everything

This is an important feature for classification of communities, events and discussions:

Major interaction points for users

Looking at the near future, we will want to add an option for the user to search for either of the above on our platform and also send updates based on the tags they've selected.

Specific List of Mini Tasks

  • Create a model tasks with polymorphic parents
  • Polymorphic parents include: Communities, Events, Discussions, Speaker Resources
  • Add an autocomplete field to add tags to each of these while creating/editing with the option to create a new tag if it's not present in the database

Communities, Events can be created/edited directly when the Organizer logs in wherease Speaker Resources can be created from a page which is available via an access token sent to the user via an email (Study the different process flows on the readme!).

Optimize Performance (mini)

Find implement the following after discussion:

  • gzip the assets (css/js), we're already serving them minified
  • optimise images being stored and served

GSoC 2019 :: Ideas List :: Brainstorming

This is going to be the first time we are applying for Google Summer of Code and we're super excited to apply!

All the prerequisites include: Ruby on Rails, HTML, CSS, JavaScript.

Now that you've known about us from the Readme, this is a platform which is actually being used for events, beginning with New Delhi, India, and we're soon expanding it to more Tech communities with more requests coming in. Since it is something which has been built by the community in the initial days, we thing the best option to grow is with open source contributions.

So, here it begins, the list of ideas for GSoC (with a hope that we will get a spot!)
Some of the ideas have already been initialized with an issue, rest of them, let's brainstorm and reach a conclusion soon

  • Query Optimizations: Improving the code's performance, since the database is quite spread out with a host of polymorphic relations, we are looking to improve the db query performances to a lot of extent, here we need someone who can patiently work on understanding the db structure and then work in the right direction.

  • Community Activity + Page: This is a simple example page of the first community, from where this platform is coming. The task would be a revamp of the community page + sending in the latest updates to the members about their communities

  • Improving the Forms: With our own Data Forms for collecting registration/other data to get the best for community's interests and feedbacks/surveys, we need to be able to reuse the questions, reorder questions in a form with keeping the past filled responses intact. This is divided into three parts viz. Designing the page, proposing what all features should be present while creating a form and making elements of the form reusable.

  • Increasing Online Interaction: With Tech Communities, these are the people who actually first meet in person and then want to continue the interaction. What all can we do (without bugging the attendees) to keep the interaction going is the question to be solved here.

  • The Face: Refer to #12

  • Chain of Communities: Refer to #15

This is just somethings we think would be the right steps to take at this point of time. We're always looking out for better productive ideas/features/suggestions which you want to propose. Feel free to!

Yay! We're live!

Just announcing this, as I am really excited that this code is finally live. Let's talk more about the different verticals we can grow this platform towards.

And yes, here's the link: https://www.gdgnd.org

Invite members and Organizers

This is one of the long pending tasks, we need to create an invitation system to add/invite members and organizers to a community via email. As of now, I am the only one who can do it, that too using console.


Specific List of Tasks

  • On the community home page (example), add an option to search and invite a person to join the role 'organizer'
  • Same for sending an invite for the role of a 'member'

The invite should be sent via an email, and the role gets added to the user only once he/she accepts the invite. You'll need to think a little more on this, it'll be similar to other invite systems!

Social media links of the community

We need to display the social media links (facebook, twitter, website, blog) for each community.

Specific List of Tasks

  • Add fields for the links in the table
  • Show the fields in create/edit community form
  • Use icons from font awesome to show the links on the community page

Add auto-shortlisting based on different criteria of attendees

Once the attendees can be filtered, the main advantage comes in when we can just filter and shortlist in one go. Here's some points in my head right now, we need a proposal/brainstorm on how we will proceed on this:

  • Just click and update the status of the filtered registrations
  • Allow shortlisting in a specific ratio of new vs regular attendees

But there's a lot more to be thought. Discussions are open!

Homepage is blank

I have setup the commudle on local machine, and on running the rails server via rails s, the homepage of commudle is coming blank.
##Screenshot
screenshot from 2019-02-18 19-49-05

Is there any problem with rails db:migrate @arpansac ?

Please help

PWA support for Commudle

It would be really great to see commudle PWA as it'll be way more mobile friendly and a better experience for users.

Google photos

There are photos associated with each event, and people want access to the pictures. Create a page to view photos which have been uploaded to Google Photos.

I have spent a little time on showing the pictures in a wireframe, but that seems to be the less optimized solution. Let's make it an infinite scroll of pictures fetched from a url of a shared album placed by the organizers.

Create user profile page

An interesting one, we need the following to be shown on the user's profile (in no specific order)

  • Picture
  • About & Designation/Status
  • Social Links (need to add portfolio website links for designers too, right now there's only github, linkedin, twitter and personal website)
  • Communities joined (with role)
  • Tags followed (#1)
  • Events attended

Show a small wireframe of how you think these should be aligned and then we can start working on this

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.