Giter VIP home page Giter VIP logo

maxwellbo / muncoordinated-2 Goto Github PK

View Code? Open in Web Editor NEW
31.0 3.0 21.0 3.36 MB

πŸ‡ΊπŸ‡³ Muncoordinated is a Model UN committee management service, (re)written with TypeScript, React, Semantic UI and Firebase.

Home Page: https://muncoordinated.io/

License: GNU General Public License v3.0

HTML 0.97% CSS 0.09% TypeScript 94.36% JavaScript 4.58%
typescript react model-united-nations single-page-app firebase semantic-ui cypress hacktoberfest reactjs

muncoordinated-2's Introduction

Muncoordinated

Netlify Status

Muncoordinated

Muncoordinated is a Model UN committee management service, (re)written with TypeScript, React, Semantic UI and Firebase, and available at muncoordinated.io.

demo screenshot

Background

This version of Muncoordinated began development at the end of 2017, ahead of SydMUN 2017. It began as a reimplementation of a previous version of Muncoordinated, built in Elm.

Development

yarn && yarn start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

Tests

yarn test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

Integration tests

yarn run cypress

Launches the integration test runner.
See the section about The Test Runner

Building

yarn build

Builds the app for production to the build folder.
It will bundle React in production mode and optimize the build for the best performance.

The build is minified and the filenames include the hashes.

Maintainers

@MaxwellBo.

Self-hosting

It is strongly discouraged to maintain and deploy your own customized fork of Muncoordinated. Instead, consider giving back to the Model UN community by ensuring your custom features are merged into the version hosted at [muncoordinated.io].

Contributing

Take a look at the open issues and submit some PRs that help address them.

You might also want access to some of the SaaS services that we've used to build Muncoordinated:

Learn More

You can learn more in the Create React App documentation.

To learn React, check out the React documentation.

Contributors

This project exists thanks to all the people who contribute. Special thanks to:

License

GNU GPLv3 Β© Maxwell Bo

muncoordinated-2's People

Contributors

bertranddungan avatar bluedragon23 avatar eroxl avatar julianwww avatar kumar-ish avatar lsenjov avatar maxwellbo avatar shyambh 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

Watchers

 avatar  avatar  avatar

muncoordinated-2's Issues

Motions aren't autosorted by precedence

As a Director, I can select the motions from the dropdown list and they will appear below in the order I selected them as opposed to some reordering according to disruptiveness

Autosort speakers by for, against, or neutral

As a Director, I can ask for 1 delegate for, 1 delegate against, and 1 delegate neutral, and then having to repeat the call instead of just asking for all for speakers, all against speakers, and all neutral speakers and then reordering them or sorting them myself

Committee-wide Majority

Majority is currently resolution specific and is stored against the ResolutionData type.

I want to be able to set the majority for resolutions on a committee level on setup screen, such that all resolutions inherit this majority when they're created. Changing this committee-wide majority should not change the majority of all existing resolutions. I should reserve the right to override the majority for a specific resolution.

Resolutions are created here.

Is there any way that the shareable link can keep delegates from editing committee details?

I just started using MUNcoordinated and I really want to use it for the conference that my school is hosting. I think that the idea of delegates being able to add amendments and add themselves to a speaker's list is cool. However, when I try to use the link, the other person is able to change all details of the committee. Is there any way that the shareable link can keep delegates from editing committee details?

Thresholds are wrong

  • For all intents and purposes, NGOs and observers
  • NGOs contribute do not contribute to thresholds
  • Observers contribute only to procedural thresholds, but not operative thresholds, but cannot vote on procedural matters

Install/Setup Guide

The feature I'm requesting
This project would be much more accessible and easier to use with a well-written install/deployment guide

How it can be implemented
A detailed guide on how to install/deploy MunCoordinated
(and an accompanying docker image?πŸ˜‹)

Additional information
I'd be more than happy to help and contribute by writing a deployment README if you'd share some basic setup instructions

Present and Voting definitions

Hi Max!

Just wondering if there's a way to change what the 'present' and 'voting' options do on the Setup tab.

In SMUN, we operate on a system where present = cannot vote on substantive matters (i.e. automatically counted as an abstention in the reso voting system), while voting = can vote on substantive matters (i.e. can vote for/against/abstain in reso voting).

Is there a way to change this setting and implement it?

Thank you so much!!

Director did not know how to yield to delegates

A director did not know how to yield to delegates, saying that they "could not yield to delegates out of order". When inquired about how they were doing it instead, they said that they were "using the remove button". Upon being informed about the [Yield] button, they expressed surprise.

Possible fix: Further user testing is required to ensure yielding is intuitive.

Timers are completely broken

Acceptance criteria

  • The amount of time a timer has been running since last reset can be derived from the timer's state
  • Timers require 1 click to start
  • Timers on all machines start ticking together
  • Timers require 1 click to stop
  • Timers on all machines stop ticking
  • Unmounted timers receive the correct time remaining / elapsed / ticking status when mounted

Voting rules

In Singapore (unsure about other MUN circuits), voting rules are such that abstentions do not negate the 2/3s majority.

Hence, if there are 10 delegates in the council. 7 abstain, and 2 vote in favour and one vote against, the substantive vote should still pass.

However, currently muncoordinated includes the 7 abstentions in calculating the 2/3s majority. Hence, instead of the results being 2/3=the vote passes, the software thinks it's 2/10 which causes the vote to fail.

It would be good if there is an option for abstentions to not factor into the pass/fail of the vote, as we do it in Singapore.

Thank you so so much!

Add topics to unmods

Are there anyway that I can set a topic for unmoderated caucus?
In Taiwan, we generally will have a topic for unmod.
Hope to get an answer :)

Help with deploying

Hey, we're a school-MUN trying to deploy our own instance of MUNcoordinated for our MUN and we're having trouble after the initial firebase deploy - we downloaded the .zip and deployed to a firebase project (https://mc-pleasework.firebaseapp.com)

The page just shows up as blank, after several attempts. We love muncoordinated and we were hoping you might be able to help us get this working!

Add Custom Flags

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Committee Types

When creating a committee, along with selecting the Name, Topic, Chairpeople, and Conference, a Committee Type:

  • ECOSOC
  • UN General Assembly
  • UNHCR
  • UNHRC
  • UNICEF
  • UN Security Council
  • WHO Executive Board

etc.

By selecting this, with the exception of the General Assembly, the committee members will be prepopulated in the Setup screen and the appropriate Majority rules will be set for the resolution (if #82) is implemented.

Example from https://session.muncommand.com/setup

image
image

Motion to move to Direct Voting Procedures

Some ROPs use the term 'motion to move into direct voting procedures' to end debate on a resolution and vote on it. This is different from the 'motion to close debate' which is to table the topic as a whole.

I was wondering if it was possible to insert that motion into the motion dropdown list. Preferably, this would also mentions which resolution is being voted upon and allow, if passed, the chair to press a button to directly go to the voting page on the specific resolution (but that is secondary).

Thank you so so much for being so active in the development and support of this software!!

Motions auto-rearranging is startling

Users are confused as immediate movement of the motion when its disruptiveness is change leads users to assume that it has been deleted. Furthermore, moving while changing time means the user has to track the motion as it moves across the screen.

Suggested fix: Motion data is only saved once fields have lost focus.

Could we add more states to the Setup list?

We are hosting a historical committee where we will have states like USSR, East and West Germany, and Czechoslovakia. I was hoping that these and more historical states could be added to the Setup list with the correct flags.

Present & Voting

Hi,

Since all delegates who are voting are also present, is it possible to do that when I press on voting on the Admin page, it will mark present automatically?

Thanks.

Deleting a Caucus/Resolution

Hi! I'm chairing Singapore MUN and I wish to delete resolutions/caucuses as I want to keep the interface clean.

Is there a way to delete the reso/caucus? Thanks!

SemanticUI Conflict in CaucusQueuer

Warning: Failed prop type: Prop `content` in `Button` conflicts with props: `children`. They cannot be defined together, choose one or the other.
    in Button (created by CaucusQueuer)
    in CaucusQueuer
    in div (created by GridColumn)
    in GridColumn
    in div (created by GridRow)
    in GridRow
    in div (created by Grid)
    in Grid
    in Unknown (created by Caucus)
    in Caucus (created by Route)
    in Route (created by Committee)
    in div (created by GridColumn)
    in GridColumn (created by Committee)
    in div (created by Grid)
    in Grid (created by Committee)
    in div (created by Committee)
    in Committee (created by Route)
    in Route (created by App)
    in div (created by Container)
    in Container (created by App)
    in App
    in Router (created by BrowserRouter)
    in BrowserRouter

Is there a way to change the voting thresholds?

I would like to use Muncoordinated for a simulation of the Security Council and would like to know if it is possible to change the thresholds so as to reflect the requirement of nine affirmative votes for a resolution to pass. Thank you so much for creating this tool! :)

Dropdowns need flag icons next to them

As drop-downs do not show flags next to their selections, only their options.

To fix: Place a flag to the immediate left of a country dropdown, indicating the selected country

Moving delegates in caucuses

As a Director, I can select delegates' stances of for, against, or neutral whilst not being able to reorder them if a delegate wants to be moved down the list unless I press clear

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.