Parliamentary procedure made easy
ParliPro is an interactive tool to conduct meetings using Robert's Rules of Order in realtime. It consists of a meeting runner view, a companion projector view, and a participant view.
- Motion tracking
- Attendance tracking
- Vote tracking
- Convert to progressive web app
- Add offline support
Prerequisites:
It is recommended to use Visual Studio Code as your code editor to take advantage of some custom settings set by the project, but this is not required.
Simply clone this project:
git clone https://github.com/WillieCubed/parlipro.git
cd parlipro
Now you can open it in your code editor of choice.
This project uses Firebase for back-end functionality. The source code does not include these configuration values, so they will need to be set up.
First, create a .env.local
file at the root of the project with the following
contents:
REACT_APP_FIREBASE_API_KEY=
REACT_APP_FIREBASE_AUTH_DOMAIN=
REACT_APP_FIREBASE_DATABASE_URL=
REACT_APP_FIREBASE_PROJECT_ID=
REACT_APP_FIREBASE_STORAGE_BUCKET=
REACT_APP_FIREBASE_MESSAGING_SENDER_ID=
REACT_APP_FIREBASE_APP_ID=
Now go to the Firebase console and create a new project. This requires a Google account.
Follow the on-screen instructions to create a new web project. You can name it whatever you want (e.g.: UTD SG ParliPro). You should eventually see text that looks like this:
const firebaseConfig = {
apiKey: "AIza....",
authDomain: "[project-id].firebaseapp.com",
databaseURL: "https://[project-id]-default-rtdb.firebaseio.com",
projectId: "[project-id]",
storageBucket: "[project-id].appspot.com",
messagingSenderId: "8928596234",
appId: "1:8928596234:web:...",
};
For each line in the configuration object (e.g. apiKey
), copy the value inside
the quotes to the corresponding line starting with REACT_APP_FIREBASE_
in your
.env.local
file (e.g. copy the value for apiKey
to the line starting with
REACT_APP_FIREBASE_API_KEY=
, and so on).
Now you have all the environment variables needed for the application. If you are deploying the server, you can use these same values as needed.
This is a React app. To start the local development server, open a terminal and run:
npm start
After compilation, you should be able to access the website in a web browser at the URL provided in your terminal (usually localhost:3000).
If you are using Git in Command Prompt, please use it in the Git Shell when committing changes. This project uses Git hooks to automatically format code on commit.
If you use VS Code, you may want to make debugging a little easier by doing the following.
In a .env.local
file, add the following line:
REACT_EDITOR=code
The website is set to automatically deploy to parlipro.vercel.app
whenever changes are pushed to the main
branch.
To deploy a copy of this project to your own Vercel account, use the button below. It will prompt you to provide environment variables to deploy the project. Follow the instructions in the "Setting up Environment Variables" to obtain the values.