diff --git a/client/src/actions/cities.ts b/client/src/actions/cities.ts
index 594a43c43355f1c63d9248a2f98d28b4c243c820..efdb8c1dec986b31ce5aa41e006e181c26eb08c0 100644
--- a/client/src/actions/cities.ts
+++ b/client/src/actions/cities.ts
@@ -1,7 +1,12 @@
+/*
+This file handles actions for the cities redux state
+*/
+
 import axios from 'axios'
 import { AppDispatch } from './../store'
 import Types from './types'
 
+// Action creator to get all cities from api and send appropriate actions to reducer
 export const getCities = () => async (dispatch: AppDispatch) => {
   await axios
     .get('/api/misc/cities')
diff --git a/client/src/actions/competitionLogin.ts b/client/src/actions/competitionLogin.ts
index ff177a2bc82f8d37174f4f2df4bd050ebb3822de..093abdb8dfb638752f9968815fd8bb2bc2159930 100644
--- a/client/src/actions/competitionLogin.ts
+++ b/client/src/actions/competitionLogin.ts
@@ -1,9 +1,14 @@
+/*
+This file handles actions for the competitionLogin redux state
+*/
+
 import axios from 'axios'
 import { History } from 'history'
 import { AppDispatch } from '../store'
 import { AccountLoginModel } from './../interfaces/FormModels'
 import Types from './types'
 
+// Action creator to attempt to login with competition code
 export const loginCompetition = (code: string, history: History) => async (dispatch: AppDispatch) => {
   dispatch({ type: Types.LOADING_COMPETITION_LOGIN })
   await axios
diff --git a/client/src/actions/competitions.ts b/client/src/actions/competitions.ts
index 1a9d789c09d6646657b622de1d4c43d0c9be1dbd..87b2b26ba844c0be6eafe5ee4f02920f9067d9e4 100644
--- a/client/src/actions/competitions.ts
+++ b/client/src/actions/competitions.ts
@@ -1,8 +1,13 @@
+/*
+This file handles actions for the competitions redux state
+*/
+
 import axios from 'axios'
 import { CompetitionFilterParams } from '../interfaces/FilterParams'
 import { AppDispatch, RootState } from './../store'
 import Types from './types'
 
+// Get all competitions using filterParams from current state
 export const getCompetitions = () => async (dispatch: AppDispatch, getState: () => RootState) => {
   const currentParams: CompetitionFilterParams = getState().competitions.filterParams
   // Send params in snake-case for api
@@ -34,6 +39,8 @@ export const getCompetitions = () => async (dispatch: AppDispatch, getState: ()
       console.log(err)
     })
 }
+
+// Dispatch action to set filter params
 export const setFilterParams = (params: CompetitionFilterParams) => (dispatch: AppDispatch) => {
   dispatch({ type: Types.SET_COMPETITIONS_FILTER_PARAMS, payload: params })
 }
diff --git a/client/src/actions/editor.ts b/client/src/actions/editor.ts
index 45fbce986abae8df3da0c987be6faa4212cac2bf..db688dcb59f3732c6bda801b0aada1b3063a1238 100644
--- a/client/src/actions/editor.ts
+++ b/client/src/actions/editor.ts
@@ -1,7 +1,12 @@
+/*
+This file handles actions for the editor redux state
+*/
+
 import axios from 'axios'
 import { AppDispatch, RootState } from './../store'
 import Types from './types'
 
+// Save competition in editor state from input id
 export const getEditorCompetition = (id: string) => async (dispatch: AppDispatch, getState: () => RootState) => {
   await axios
     .get(`/api/competitions/${id}`)
@@ -19,6 +24,7 @@ export const getEditorCompetition = (id: string) => async (dispatch: AppDispatch
     })
 }
 
+// Set currentSlideId in editor state
 export const setEditorSlideId = (id: number) => (dispatch: AppDispatch) => {
   dispatch({
     type: Types.SET_EDITOR_SLIDE_ID,
diff --git a/client/src/actions/presentation.ts b/client/src/actions/presentation.ts
index 97c611dfb27015f37fa33693ee90c6f8a1159ef3..9e7881d86239b1d1225a983a86ac73034d609a35 100644
--- a/client/src/actions/presentation.ts
+++ b/client/src/actions/presentation.ts
@@ -1,9 +1,14 @@
+/*
+This file handles actions for the presentation redux state
+*/
+
 import axios from 'axios'
 import { Slide } from '../interfaces/ApiModels'
 import { Timer } from '../interfaces/Timer'
 import store, { AppDispatch } from './../store'
 import Types from './types'
 
+// Save competition in presentation state from input id
 export const getPresentationCompetition = (id: string) => async (dispatch: AppDispatch) => {
   await axios
     .get(`/api/competitions/${id}`)
@@ -18,6 +23,7 @@ export const getPresentationCompetition = (id: string) => async (dispatch: AppDi
     })
 }
 
+// Get all teams from current presentation competition
 export const getPresentationTeams = (id: string) => async (dispatch: AppDispatch) => {
   await axios
     .get(`/api/competitions/${id}/teams`)
diff --git a/client/src/actions/roles.ts b/client/src/actions/roles.ts
index 19a148c7a01d9dc4ccd6552f06dbf954509f16dc..3f27d3a8ddc3f4c5f6963470a6eb5d4fe18cb014 100644
--- a/client/src/actions/roles.ts
+++ b/client/src/actions/roles.ts
@@ -1,7 +1,12 @@
+/*
+This file handles actions for the roles redux state
+*/
+
 import axios from 'axios'
 import { AppDispatch } from './../store'
 import Types from './types'
 
+// Get all roles and dispatch action to save them to roles state
 export const getRoles = () => async (dispatch: AppDispatch) => {
   await axios
     .get('/api/misc/roles')
diff --git a/client/src/actions/searchUser.ts b/client/src/actions/searchUser.ts
index a3ea55c7ce7ef5afc1468de7cc1d350303b3674a..c47ee9f3d0018763d7b2c134f7edbbf1094c2492 100644
--- a/client/src/actions/searchUser.ts
+++ b/client/src/actions/searchUser.ts
@@ -1,8 +1,13 @@
+/*
+This file handles actions for the searchUser redux state
+*/
+
 import axios from 'axios'
 import { UserFilterParams } from '../interfaces/FilterParams'
 import { AppDispatch, RootState } from './../store'
 import Types from './types'
 
+// Get all users using current filterParams in searchUser state
 export const getSearchUsers = () => async (dispatch: AppDispatch, getState: () => RootState) => {
   const currentParams: UserFilterParams = getState().searchUsers.filterParams
   // Send params in snake-case for api
@@ -34,6 +39,7 @@ export const getSearchUsers = () => async (dispatch: AppDispatch, getState: () =
       console.log(err)
     })
 }
+
 export const setFilterParams = (params: UserFilterParams) => (dispatch: AppDispatch) => {
   dispatch({ type: Types.SET_SEARCH_USERS_FILTER_PARAMS, payload: params })
 }
diff --git a/client/src/actions/statistics.ts b/client/src/actions/statistics.ts
index a32dce3553ba56ed47410b1499aeca57f7490f75..acde4316ef929b05ed38543aa9c5095ede63fa36 100644
--- a/client/src/actions/statistics.ts
+++ b/client/src/actions/statistics.ts
@@ -1,7 +1,12 @@
+/*
+This file handles actions for the statistics redux state
+*/
+
 import axios from 'axios'
 import { AppDispatch } from './../store'
 import Types from './types'
 
+// Get all statistics and dispatch actions to save them to statistics state
 export const getStatistics = () => async (dispatch: AppDispatch) => {
   await axios
     .get('/api/misc/statistics')
diff --git a/client/src/actions/types.ts b/client/src/actions/types.ts
index 512572bcf6f73dbbeb4c76fcdc1207b00333149a..2e529a8839fd374504a8d2a0e9d79939cdc3ec09 100644
--- a/client/src/actions/types.ts
+++ b/client/src/actions/types.ts
@@ -1,3 +1,7 @@
+/*
+This file includes all redux action types 
+*/
+
 export default {
   LOADING_UI: 'LOADING_UI',
   LOADING_USER: 'LOADING_USER',
diff --git a/client/src/actions/typesAction.ts b/client/src/actions/typesAction.ts
index 32a212b0c5fc270d62dd6528efbea51824acdb8e..b6e9c98ad4f5b0a2593f1fe4d4cde9590f4d6370 100644
--- a/client/src/actions/typesAction.ts
+++ b/client/src/actions/typesAction.ts
@@ -1,7 +1,12 @@
+/*
+This file handles actions for the types redux state
+*/
+
 import axios from 'axios'
 import { AppDispatch } from './../store'
 import Types from './types'
 
+// Get all types and save them to types state
 export const getTypes = () => async (dispatch: AppDispatch) => {
   await axios
     .get('/api/misc/types')
diff --git a/client/src/actions/user.ts b/client/src/actions/user.ts
index e2ad88acf776490ee49189236f2f921297c33d5c..3448fa995dd6f10ed8ec61049ad041bcf164e1b7 100644
--- a/client/src/actions/user.ts
+++ b/client/src/actions/user.ts
@@ -1,9 +1,14 @@
+/*
+This file handles actions for the user redux state
+*/
+
 import axios from 'axios'
 import { History } from 'history'
 import { AppDispatch } from '../store'
 import { AccountLoginModel } from './../interfaces/FormModels'
 import Types from './types'
 
+// Attempt to log in user, dispatch correct actions and save jwt token to localStorage and axios auth header
 export const loginUser = (userData: AccountLoginModel, history: History) => async (dispatch: AppDispatch) => {
   dispatch({ type: Types.LOADING_UI })
   await axios
@@ -25,6 +30,7 @@ export const loginUser = (userData: AccountLoginModel, history: History) => asyn
     })
 }
 
+// Get data for user and save to user state
 export const getUserData = () => async (dispatch: AppDispatch) => {
   dispatch({ type: Types.LOADING_USER })
   await axios
@@ -40,6 +46,7 @@ export const getUserData = () => async (dispatch: AppDispatch) => {
     })
 }
 
+// Log out user and remove jwt token from local storage and axios
 export const logoutUser = () => async (dispatch: AppDispatch) => {
   localStorage.removeItem('token')
   await axios.post('/api/auth/logout').then(() => {