Coder Social home page Coder Social logo

davide-casiraghi / ci-global-calendar Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 4.0 91.59 MB

Global Contact Improvisation Calendar (GCIC). Event calendar designed for the worldwide community of the Contact Improvisation Dance form.

License: MIT License

PHP 69.08% HTML 0.28% Vue 0.82% Shell 0.23% Blade 29.60%
dance contact-improvisation calendar laravel

ci-global-calendar's Introduction

License Build Status StyleCI Quality Score GitHub last commit

Global Contact Improvisation Calendar

The CI Global Calendar is part of the Round Robin Project (RRP), an international adventure initiated in 2008, to serve the dance form Contact Improvisation (CI) and all the people worldwide who are engaged in that work—dance practitioners, performers, researchers, teachers, and any other interested people.

The goal of the CI Global Calendar is to make information about Contact Improvisation events easily accessible in several languages—representing, at a glance, CI activities around the globe. It offers listings of CI classes, jams, workshops, festivals, and events happening throughout the global CI community, posted individually by event organizers and teachers.

The calendar is still in beta testing phase and not yet available online, we plan to fully operate starting from January 2019 on.

For further info about the history of the project: roundrobinproject.weebly.com

Get Involved as a Web Developer

The Round Robin Project brings together a collective of dancers involved in the practice of Contact Improvisation and led by the desire to share this dance form with a wider and wider audience.

We are actively looking for people to support the development of the project: computer people, web designers, programmers, we need you!

If you are skilled in the technologies reported below and willing to collaborate fill this form as a volunteer.

How to contribute

Read Tutorial and Documentation →

The technologies used to develop the calendar

The project is developed using this technlogies:

  • PHP framework: Laravel 5.8
  • Javascript framework: jQuery
  • CSS framework: Bootstrap 4
  • Version control: Git
  • Testing frameworks: PHPUnit, Laravel Dusk

Web developers team

The source code is developed and mantained by this contributors.

License

The Global Contact Improvisation Calendar is free software distributed under the terms of the MIT license.

ci-global-calendar's People

Contributors

davide-casiraghi avatar dependabot[bot] avatar michaelsteppat avatar mico avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

ci-global-calendar's Issues

Validating content before submission

Currently when people post content, they type in the form and then submit directly.

In order to avoid / limit the mistakes and multiple submissions (in case of mistakes), it would be useful if users get to see a pre-view of their submission and need to click a second time in order to validate the content or to edit it another time before submission.

Continent/Countries subdivision (Central America)

The the belonging of countries to a specific continent seems to be a controversial topic.
Depending on the convention and model, some continents may be subdivided in different ways.
We will decide soon the standard to adopt on the Global Calendar.

Since it's a lot of job to change this distinction, once will be decided we will not modify it anymore.

At the moment I’ve followed the distinction I found on Wikipedia.
Continents
https://en.m.wikipedia.org/wiki/Continent
North America
https://en.m.wikipedia.org/wiki/North_America

If you want to suggest an alternative please describe it here
Please provide a clear and concise description of the alternative solution you've considered.

Show Required fields in the forms

Add an asterisk with a tooltip for the required fields in the forms.

Edit all the partial blade views.

It's not clear to me from our set up if any fields are required.
I will find a way to make this more clear. Maybe with an asterisk and a tooltip.

Homepage Events Search - Provide State/Region filter

Is your feature request related to a problem? Please describe.
In the case of a country with many events and/or long distances, it would be helpful to include the State/Region where the event is located. As an example, a US user pointed out that a full list of events for the whole country without the possibility to search per State, makes it difficult to discover new/unknown jams within driving distance

Describe the solution you'd like
Add State/Region field to events listing search results.

Accordion - Creating specific direct links for the different sections of the "Help" page

Is your feature request related to a problem? Please describe.
At the moment, when I open the "Help" page, I only get one link for the whole page, whichever section of it I open or close:
https://ciglobalcalendar.net/post/help-how-to-insert-contents
This does not allow for sending more tailored and direct information, as an answer to users' requests.

Describe the solution you'd like
I would like to be able to orient people directly to one section or one question from that whole "About" list, in the same way that you can have and share a link per paragraph / section on Wikipedia, as an example.

Describe alternatives you've considered
As of now, I share the link of that page to our users and then I write a whole paragraph every time, that specifies in which section and sub-sections they can find the information that they need.
This is time consuming so I would like to automatize this a little bit more.

Event - Contact Email - Event Create and Edit view

In the event there is a button on the top right corner [Write to the organizer], that one send an email to the creator of the event.
Since the event creator is not always the organizer, in the last discussion we had with Stephanie we were thinking to add a new field to the event called "Contact Email".
This will be the email that receive the contacts requests.

Event Repetition - Select multiple days

Is your feature request related to a problem? Please describe.
I report here the request of Mileen Borgonjon
I would love to be able to select several dates to an event. Not every event is on regular basis. Eg. a 2 weekly jam - it would be very handy to be able to select dates on which the jam takes place, because the regularity of 2weekly is not an option to select yet. Eg. a workshop consisting of several weekends or weekend days, not on the same moment every month - it would be great to be able to select the dates, so i don't have to make new events for every day of the workshop.

Describe the solution you'd like
The bootstrap date-picker plugin we already use provide an option that allow to pick multiple days.
If we enable this option , then we can save the selected days directly in the eventRepetition table.

bootstrap-datepicker Demo
Here you can see a demo about how the functionality works.
Setting the multi date field to true. The demo is in the lower part of the page.

Associate Teachers with Event not maintained by Event creator

Is your feature request related to a problem? Please describe.
Many classes and jams are co-facilitated by a rotation of teachers.

Describe the solution you'd like
The profile creating an event should be able to associate Teachers created by other accounts with classes. Otherwise, a single account must maintain Teacher information for other teachers and facilitators who might otherwise prefer to maintain this information themselves, with their own account.

Describe alternatives you've considered
Workaround: a single user must create Teacher entries for other persons, and centrally manage them from a single account.

Responsive Gallery

On the CIGC website we have some photos turning as homepage background. The intent of this photos is to represent the worldwide community and one of the wishes of the CIGC Steering committee is to change them regularly. The old photos will be shown in a dedicated page with many galleries.

Here is the repository of the component to manage and render this gallery.
Laravel Responsive Gallery

Bug in teacher directory

Nancy has reported a bug in the teacher directory page.
She said that once happened that she cannot reach the page.
Even if I didn't find yet a way to reproduce the but the Travis tests sometime fail to build because the test "Authenticated use can reach teacher page" fail.

Sorting options when users use the default search or few criterias

When users use the search engine by default (i.e. without filling in any search field, or only just one), they get a long list of events to go through.

It's been suggested by David Lim (China) to allow the user to sort the resulting table by a) event type, b)location (perhaps by continent, then city, in alphabetical order), c) most recently posted and 4) most recently updated/amended.

Teacher Directory: Next Page resets Country filter

Describe the bug
When applying a country filter, the filter is reset following click through to next page.

Token and keywords are not passed by url GET

BEFORE:
https://ciglobalcalendar.net/teachersDirectory?_token=bH997ENSVhbMCGUa4SLOpedWXgKQN0trDq1Fl8XP&keywords=&country_id=2

AFTER:
https://ciglobalcalendar.net/teachersDirectory?page=2

To Reproduce
Steps to reproduce the behavior:

  1. Teacher Directory > Filter by Country
  2. Click Pagination: 2 (or next page)

Expected behavior
Filter should be maintained with pagination, token and country_id passed by URL GET

Event creation: Adding a venue or teacher does not save previously entered content

Describe the bug
When creating a New Event entry, the user has to specify a related venue and teacher.
This can be done through a pop up menu.
If the user has entered content previously, it disappears when opening the pop up and is lost.

Expected behavior
That the content is saved when the user returns to the Event Creation page.

Workaround
An alternative would be to re-organise the page and make it compulsory to enter the location and teacher first and before any other content can be filled in.

Originating address of email notifications not valid, mail may be filtered

Describe the bug
If email notifications from the website are not from a legitimate domain and email address (even a noreply address) some mail providers may filter or reject email, leading to confusion by registered users.

To Reproduce
Steps to reproduce the behavior:
Verified in account activation confirmation email

Originating email address is [email protected]
by way of testing.globalcalendar.net

Mail header reports, concerning webserver IP address:
testing.ciglobalcalendar.net does not designate 64.90.62.163 as permitted sender

Expected behavior
Mail server IP and return address should be valid and a permitted sender for that server

Screenshots
Screen Shot 2019-03-28 at 1 12 49 PM

Desktop (please complete the following information):
NA

Smartphone (please complete the following information):
NA

Additional context
NA

GitHub to track, bug fix requests, feedbacks and evolutions

I would love to suggest the people of the contact community to register to GitHub and when there is a bug fix request, feedback or any kind of request they can post here an Issue.
https://github.com/davide-casiraghi/ci-global-calendar/issues

Then all the issues can be assigned to different projects.
https://github.com/davide-casiraghi/ci-global-calendar/projects

This will mean less stress and job for the administrator, and we will have a clear tool to communicate between the community about the project.

Gift list public

Create a page to show the gift lift to everybody.
The page should get data from the gift from list table trough the form in the Get Involved page.

Teacher Directory: Where applicable, list State/Region for Country filtered listing

Is your feature request related to a problem? Please describe.
In the case of a country with many teachers, it would be helpful to include the State/Region where the teacher is located. A multi-page listing of many practitioners in, the United States, for example, is unwieldy

Describe the solution you'd like
Add State/Region field to Teacher directory listing search results.

Teacher Management: New Teacher creation may not save uploaded image

Describe the bug
When creating a New Teacher entry, a profile image was specified and uploaded.
Subsequently, the image did not appear in My Teachers, or in Teacher Directory

Workaround
Returning to Edit Teacher and add image again produces the expected results, and image appears.

Note
I have not tried to reproduce this issue by creating a New Teacher, but I may try.

My Profile Email address cannot be updated unless Admin

Describe the bug
When attempting to change the email address for the logged-in (current) profile, and error is thrown: "You do not have admin access"

To Reproduce
Steps to reproduce the behavior:

  1. Go to My Profile > Email Address > Submit

Expected behavior
All users should be able to update their profile email address.

Screenshots
Screen Shot 2019-03-28 at 12 39 55 PM

Desktop (please complete the following information):
NA

Smartphone (please complete the following information):
NA

Additional context
NA

Statistics

Create Page that show to the admin

  • number of users registered
  • number of teachers
  • number of organizers
  • number of active events

Bug in the User activation email

When a user register, the administrator receive an email with a button to approve.
In the last week the administrator didn't receive the email even if the PhpUnit automatic tests were successfully passed.

Bugs in the registration forms

Reported by Justin Morrison.

Account application form: if email is rejected, malformed or previously used, the form is reset and previously typed fields are not repopulated

Account application: no email confirmation is received by applicant

Mass mail functionality for the administrator

The administrators can have the need to send a mail communication to all the registered users, or all the teachers, or all the organizers.
Or they want to write to a specific teacher or organizer or user.

The solution would be to create a new page in the administrator menu called Mailable that allow to do that trough a simple and usable form where the user can select:

  • Mass mail, and then select one from the list of: users, teachers, organizers.
  • Single mail, and then select the user.

To do that in a way that preserve more the maintainability, the wish is to do that creating a new Laravel package called Mailman or Mail Carrier.
The package will also substitute all the mail forms in the website that at the moment allow the user to write to:

  • administrator
  • project manager
  • webmaster

Error 500 on My events page

Describe the bug
If a user delete a venue and events are present in this venue, then the My Events page show an error 500.

To Reproduce
Delete a venue where is present an active event.

Expected behavior
The user get a message, "It's not possible to delete this venue because an event is present".

Hungarian translation of the website (and more languages)

Is your feature request related to a problem? Please describe.
At the moment, the website only offers some languages. We had an offer from Eszter [email protected] to translate it to Hungarian but the current languages drop-down menu makes it difficult to add more languages and to keep the menu clear and readable from smartphones applications.

Describe the solution you'd like
Working on another solution for the languages drop down menu, that allows for another type of menu (to be defined) that will enable the addition of more languages.

Describe alternatives you've considered
Keeping the menu as it is, for now. Eventually adding one or 2 extra languages to the current menu if relevant.

Feed of information on the main page

At the moment, people need to do a search before they can see any information about events, on the home page of the website.

David Lim (China) has suggested adding a "feed" of some sort on the home page.
And maybe giving users the option to sort the feed by or most active (i.e. most clicked) or most recently posted or the closest upcoming events.

How to list the GUS (Global Underscore)

The Global Underscore (GUS) is an event that involve involves 1000+ dancers!
There will be many individual Global Underscore (GUS) events around the world, anyway Patrick Crowley feel the need about giving more space to a description of the main event in the website.

Describe the solution you'd like
Maybe a banner or a dedicated page with some more details about the underscore.

Issue reported by Patrick Crowley

News page - Twitter

Create a page to share news messages.
The page can show the posts from a twitter account connected to the page trough a proper plugin.

Contributor Credits

I report here an idea of Nancy,

I do think that perhaps we should have a category on our regular credits of people who have contributed significantly to the RRP project over the years, e.g. Colleen, Tinu, Norbert, etc. Let's consider this seriously and look for WHERE to put these names more prominently.

Fix Laravel dusk tests

The most of Laravel Dusk tests are broken.
The problem is related to the loginUser() function.

Organizer - show view

About the organizers we have this informations available:

  • Name
  • Email (we will not expose it)
  • Phone (optional)
  • Website
  • Description

In the event show view, make that the organizer name is clickable, and the click bring to the organizer show view.

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.