Index: jobvista-frontend/src/redux/actions/JobSeekerActions.js
===================================================================
--- jobvista-frontend/src/redux/actions/JobSeekerActions.js	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-frontend/src/redux/actions/JobSeekerActions.js	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
@@ -0,0 +1,67 @@
+import axios from "../../axios/axiosInstance";
+import {SET_PROFILE_PIC_URL} from "../actionTypes";
+
+export const JobSeekerActions = {
+
+    submitProfilePic: (formData, callback) => {
+        let jobSeekerId = formData.get("jobSeekerId");
+        let profilePicFile =  formData.get("profilePicFile")
+        return dispatch => {
+            axios.post("/job-seeker/submit-profile-pic", formData, {
+                headers: {
+                    'Content-Type': 'multipart/form-data'
+                }
+            })
+                .then(response => {
+                    const blob = new Blob([profilePicFile])
+                    const profilePicUrl = window.URL.createObjectURL(blob);
+                    dispatch({
+                        type: SET_PROFILE_PIC_URL,
+                        payload: {jobSeekerId, profilePicUrl}
+                    })
+                    callback(true, response)
+                }).catch(error => {
+                    callback(false, error)
+            })
+        }
+    },
+
+    downloadProfilePic: (jobSeekerId, callback) => {
+        return dispatch => {
+            return axios.get("/job-seeker/" + jobSeekerId + "/download-profile-pic", {responseType: "blob"})
+                .then(response => {
+                    const blob = new Blob([response.data])
+                    const profilePicUrl = window.URL.createObjectURL(blob);
+                    dispatch({
+                        type: SET_PROFILE_PIC_URL,
+                        payload: {jobSeekerId, profilePicUrl}
+                    });
+                    callback(true, profilePicUrl)
+                }).catch(error => {
+                    callback(false, error)
+                })
+        }
+    },
+
+    fetchJobSeekerEditDetailsById: (id, callback) => {
+        return dispatch => {
+            return axios.get("/job-seeker/"+id+"/edit-info")
+                .then(response => {
+                    callback(true, response)
+                }).catch(error => {
+                    callback(false, error)
+                })
+        }
+    },
+
+    editJobSeekerDetailsById: (data, id, callback) => {
+        return dispatch => {
+            return axios.post("/job-seeker/"+id+"/edit-info", data)
+                .then(response => {
+                    callback(true, response)
+                }).catch(error => {
+                    callback(false, error)
+                })
+        }
+    }
+}
Index: jobvista-frontend/src/redux/actions/applicationActions.js
===================================================================
--- jobvista-frontend/src/redux/actions/applicationActions.js	(revision befb98800bd9171fa5ce8a5f29287e549f0ff5aa)
+++ jobvista-frontend/src/redux/actions/applicationActions.js	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
@@ -10,5 +10,5 @@
     submitApplication: (application, callback) => {
         return dispatch => {
-            axios.post("/job-advertisements/apply", application, {
+            axios.post("/applications/submit", application, {
                 headers: {
                     'Content-Type': 'multipart/form-data'
@@ -26,38 +26,36 @@
             })
         }
-
     },
     updateApplicationStatus: (id, status, callback) => {
         console.log(status)
-      return dispatch => {
-            // TO DO: REFACTOR
-          axios.post("/applications/" + id + "/update", {
-              id: id,
-              status: status
-          })
-              .then(response => {
-                  dispatch({
-                      type: UPDATE_APPLICATION_STATUS,
-                      application: response.data,
-                  })
-                  callback(true, response)
-              }).catch(error => {
-              callback(false, error)
-          })
-      }
+        return dispatch => {
+            axios.post("/applications/" + id + "/update", {
+                id: id,
+                status: status
+            })
+                .then(response => {
+                    dispatch({
+                        type: UPDATE_APPLICATION_STATUS,
+                        application: response.data,
+                    })
+                    callback(true, response)
+                }).catch(error => {
+                callback(false, error)
+            })
+        }
     },
     fetchApplicationsByJobSeeker: (jobSeekerId, callback) => {
-      return dispatch => {
-          axios.get("/my-applications/" + jobSeekerId)
-              .then(response => {
-                  dispatch({
-                      type: FETCH_APPLICATIONS_BY_JOB_SEEKER_ID,
-                      applicationsByJobSeeker: response.data
-                  })
-                  callback(true, response)
-              }).catch(error => {
-                  callback(false, error)
-          })
-      }
+        return dispatch => {
+            axios.get("/my-applications/" + jobSeekerId)
+                .then(response => {
+                    dispatch({
+                        type: FETCH_APPLICATIONS_BY_JOB_SEEKER_ID,
+                        applicationsByJobSeeker: response.data
+                    })
+                    callback(true, response)
+                }).catch(error => {
+                callback(false, error)
+            })
+        }
     },
 
@@ -77,17 +75,15 @@
         }
     },
-    downloadResume: (fileName, callback) => {
-        return dispatch => {
-            return axios.get("/resume/" + fileName, {responseType: "blob"})
-                .then(response => {
-                    const blob = new Blob([response.data], { type: 'application/pdf' });
-                    const url = window.URL.createObjectURL(blob);
-                    callback(true, url);
-                })
+    downloadResume: (id, callback) => {
+        return axios.get("/applications/" + id + "/download-resume", {responseType: "blob"})
+            .then(response => {
+                const blob = new Blob([response.data], {type: 'application/pdf'});
+                const url = window.URL.createObjectURL(blob);
+                callback(true, url);
+            })
+            .catch(error => {
+                callback(false, error)
+            })
 
-                .catch(error => {
-                    callback(false, error)
-                })
-        }
     }
 }
Index: jobvista-frontend/src/redux/actions/jobAdvertisementActions.js
===================================================================
--- jobvista-frontend/src/redux/actions/jobAdvertisementActions.js	(revision befb98800bd9171fa5ce8a5f29287e549f0ff5aa)
+++ jobvista-frontend/src/redux/actions/jobAdvertisementActions.js	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
@@ -10,9 +10,5 @@
     addJobAdvertisement: (jobAdvertisement, callback) => {
         return dispatch => {
-            axios.post("/job-advertisements/add",  jobAdvertisement, {
-                headers: {
-                    'Content-Type': 'application/json'
-                },
-            })
+            axios.post("/job-advertisements/add", jobAdvertisement)
                 .then(response => {
                     dispatch({
@@ -20,7 +16,8 @@
                         jobAdvertisement: response.data
                     })
-                    callback(true, response)
+                    callback(true)
                 }).catch((error) => {
-                callback(false, error)
+                console.error(error)
+                callback(false)
             })
         }
@@ -34,7 +31,8 @@
                         jobAdvertisement: response.data
                     })
-                    callback(true, response)
+                    callback(true)
                 }).catch((error) => {
-                callback(false, error)
+                console.error(error)
+                callback(false)
             })
         }
@@ -50,5 +48,6 @@
                     callback(true)
                 }).catch(error => {
-                callback(false, error)
+                console.error(error)
+                callback(false)
             })
 
@@ -83,5 +82,6 @@
                 callback(true, response)
             }).catch((error) => {
-            callback(false, error)        })
+            callback(false, error)
+        })
 
     },
@@ -96,4 +96,16 @@
                         jobAdvertisementsByRecruiter: response.data,
                     })
+                    callback(true, response)
+                }).catch((error) => {
+                callback(false, error)
+            })
+        }
+    },
+
+    fetchJobAdvertisementsByRecruiterProfile: (recruiterId, callback) => {
+        return dispatch => {
+            let currentUser = JSON.parse(localStorage.getItem(CURRENT_USER));
+            axios.get("/job-advertisements/recruiter/" + recruiterId)
+                .then(response => {
                     callback(true, response)
                 }).catch((error) => {
@@ -116,5 +128,5 @@
 
     fetchRecruiterDetailsById: (id, callback) => {
-        axios.get("/recruiter/"+id+"/info")
+        axios.get("/recruiter/" + id + "/info")
             .then(response => {
                 callback(true, response)
Index: jobvista-frontend/src/redux/actions/recruiterActions.js
===================================================================
--- jobvista-frontend/src/redux/actions/recruiterActions.js	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
+++ jobvista-frontend/src/redux/actions/recruiterActions.js	(revision 0f0add0e646bd880b8213e381f57f621bc0e6861)
@@ -0,0 +1,66 @@
+
+import axios from "../../axios/axiosInstance";
+import {SET_LOGO_URL} from "../actionTypes";
+export const RecruiterActions =  {
+    submitLogo: (formData, callback) => {
+        let recruiterId = formData.get("recruiterId");
+        let logoFile =  formData.get("logoFile")
+        return dispatch => {
+            axios.post("/recruiter/submit-logo", formData, {
+                headers: {
+                    'Content-Type': 'multipart/form-data'
+                }
+            })
+                .then(response => {
+                    const blob = new Blob([logoFile])
+                    const logoUrl = window.URL.createObjectURL(blob);
+                    dispatch({
+                        type: SET_LOGO_URL,
+                        payload: { recruiterId, logoUrl }
+                    });
+                    callback(true, response)
+                }).catch(error => {
+                    callback(false, error)
+            })
+        }
+    },
+
+    downloadLogo: (recruiterId, callback) => {
+        return dispatch => {
+            return axios.get("/recruiter/" + recruiterId + "/download-logo", {responseType: "blob"})
+                .then(response => {
+                    const blob = new Blob([response.data])
+                    const logoUrl = window.URL.createObjectURL(blob);
+                    dispatch({
+                        type: SET_LOGO_URL,
+                        payload: { recruiterId, logoUrl }
+                    });
+                    callback(true, logoUrl);
+                }).catch(error => {
+                    callback(false, error)
+                })
+        }
+    },
+
+    fetchRecruiterEditDetailsById: (id, callback) => {
+        return dispatch => {
+            return axios.get("/recruiter/"+id+"/edit-info")
+                .then(response => {
+                    callback(true, response)
+                }).catch(error => {
+                    callback(false, error)
+                })
+        }
+    },
+
+    editRecruiterDetailsById: (data, id, callback) => {
+        return dispatch => {
+            return axios.post("/recruiter/"+id+"/edit-info", data)
+                .then(response => {
+                    callback(true, response)
+                }).catch(error => {
+                    callback(false, error)
+                })
+        }
+    }
+}
