Organizations Page - lawsonpeters12/Tech-Connect GitHub Wiki

Introduction

The Organizations and Events page allows the user to view and request to join Louisiana Tech, on-campus organizations. The All Organizations button gives the user a list of all on campus organizations along with a button to request to join an organization. The request will be sent to the members of the organization with appropriate access to accept new members. My Organizations allows the user to view organizations they have joined as well as chatroom access to other club members within each organization.

Creation

To create this page, a class for OrgsPage was created as a Stateful Widget and its scaffold was returned with simple text Orgs Page and color to differentiate the different pages from one another.

Organization Landing Page

Upon pressing the Organizations button in the Navigation Bar, the user is routed to the landing page for all things relating to organizations. This page includes an All Orgs, a list of all the organizations that the current user is a member of, and a list of all events from the current user's organizations. Pressing an item in either list will bring the user to the home page of the Organization in which the event belongs to.

All Organizations

Upon clicking the All Organizations Button, the user will be routed to a page containing a list that displays the name of every on-campus organization at Louisiana Tech. The user may select any club on the list to bring them to that organization's Home Page. From the Home Page the user can either request to join the organization, view the active members in the organization. Accepted members of clubs may view and use the inter-organizational chat to message other organization members. The user can also search for the name of an organization in the search bar and the app will return organizations matching the search.

My Organizations

Upon clicking the My Organizations Button, the user will be routed to a page containing a list that displays the name of every on-campus organization that they have been accepted to. From this page the user can quickly navigate to their organization Home Pages.

Organization Home Page

The Home Page is the landing page for specific organizations. If the user is not a member of the organization whose home page they are on, they will only be able to see a list of the members in the Organization. If the user is a member of the organization, they will be able to see a list of all the organization's members as well as an organization wide chat where members can send and receive messages.

Joining an Organization

To join an organization, the user must send a request through the organization's Home Page. The user can click the Request Join Button on the organization Home Page to send a request to a member of the organization with Admin Role within the organization. The user will be sent a message upon either request response. Upon acceptance from the organization admin, the organization's Home Page link will appear on the user's organizations landing page. Upon rejection the user will be sent a rejection message.

Organization Events

Organization events are displayed on the organization homepage with the name of the event. Upon clicking the event the user will be shown a menu with the name, location, time, and date of the event. The user can also sign in to an event if the event is currently taking place and sign out after signing in.

Members List

In the navigation bar is a button that upon being pressed, displays a list of all the members of the organization. The list gives further details of each user, providing their name, email, major, and role in the organization. Also displayed in brackets next to the members' names is the number of volunteer hours they have. A member's volunteer hours are calculated based on timestamps recorded upon pressing the sign in and sign out buttons. If the user presses the name of a member in the list, they will be routed to the other user's profile page.

Admin Privileges

Admin is a special role within an organization that can only be granted to a user from a developer. There are a few features of the organization that only an admin can perform.

View & Accept/Deny Join Request

As an admin, a button is displayed under the organization's about section on the home page. This button is labeled View join requests, and the admin is shown a list of all other users who have requested member access to the organization. From this list the admin may choose to accept or deny the join request by pressing the check button or X button respectively.

Adding Events

An admin can also see another button under the view join requests button, which is labeled add event. Upon the admin pressing this button, they are brought to a screen and prompted with text fields for details of the event. Specifically, they are expected to provide the name, location, date, and time of the event. Clicking save will append an event button correlating to the event on the organization's home page.