Index: client_app/src/components/item_components/internship_component.js
===================================================================
--- client_app/src/components/item_components/internship_component.js	(revision ed3f5c40ee574173f3926bd65ca1169d6fe4b27f)
+++ client_app/src/components/item_components/internship_component.js	(revision 6729ba51f1105d56935c5cae90757ade1cac2082)
@@ -1,4 +1,5 @@
 import React from 'react';
 import {Header, List, Segment, Button} from 'semantic-ui-react';
+import {Link} from "react-router-dom";
 
 const Internships = (props) => {
@@ -6,5 +7,11 @@
         <Segment>
             <Header as="h3">{props.item.title}</Header>
-            {props.item.type!=="USER" ? <Button primary>Edit</Button> : <span> </span>}
+            {props.item.type!=="USER" ? <Button primary as={Link} to={{
+                pathname: "/edit/internship",
+                state: {
+                    index: props.index,
+                    item: props.item
+                }
+            }}>Edit</Button> : <span> </span>}
             <Segment>{props.item.description}</Segment>
             <Segment>
Index: client_app/src/components/item_components/job_component.js
===================================================================
--- client_app/src/components/item_components/job_component.js	(revision ed3f5c40ee574173f3926bd65ca1169d6fe4b27f)
+++ client_app/src/components/item_components/job_component.js	(revision 6729ba51f1105d56935c5cae90757ade1cac2082)
@@ -7,10 +7,9 @@
         <Segment>
             <Header as="h3">{props.item.title}</Header>
-            {props.item.type!=="USER" ? <Button primary as={Link} to={{
+            {props.item.accountType!=="USER" ? <Button primary as={Link} to={{
                 pathname: "/edit/job",
                 state: {
-                    jobId: props.item.id,
-                    accId: props.item.accId,
-                    type: props.item.type
+                    index: props.index,
+                    item: props.item
                 }
             }}>Edit</Button> : <span> </span>}
Index: client_app/src/components/item_components/project_component.js
===================================================================
--- client_app/src/components/item_components/project_component.js	(revision ed3f5c40ee574173f3926bd65ca1169d6fe4b27f)
+++ client_app/src/components/item_components/project_component.js	(revision 6729ba51f1105d56935c5cae90757ade1cac2082)
@@ -1,4 +1,5 @@
 import React from 'react';
 import {Header, List, Segment, Button} from 'semantic-ui-react';
+import {Link} from "react-router-dom";
 
 const Projects = (props) => {
@@ -7,5 +8,11 @@
         <Segment>
             <Header as="h3">{props.item.title}</Header>
-            {props.item.type!=="USER" ? <Button primary>Edit</Button> : <span> </span>}
+            {props.item.type!=="USER" ? <Button primary as={Link} to={{
+                pathname: "/edit/project",
+                state: {
+                    index: props.index,
+                    item: props.item
+                }
+            }}>Edit</Button> : <span> </span>}
             <Segment>{props.item.description}</Segment>
             <Segment>
Index: client_app/src/components/main/App.js
===================================================================
--- client_app/src/components/main/App.js	(revision ed3f5c40ee574173f3926bd65ca1169d6fe4b27f)
+++ client_app/src/components/main/App.js	(revision 6729ba51f1105d56935c5cae90757ade1cac2082)
@@ -24,5 +24,7 @@
 import InternshipRegister from "../work_register/internship_register";
 import ProjectRegister from "../work_register/project_register";
-import EditJob from "../work_edit/test";
+import EditJob from "../work_edit/edit_job";
+import EditInternship from "../work_edit/edit_internship";
+import EditProject from "../work_edit/edit_project";
 
 class App extends Component{
@@ -63,6 +65,6 @@
                       <Route path={"/register/project"} render={() => <ProjectRegister accountId={this.state.currentUser.id} type={this.state.currentUser.type} updateProjects={this.updateProjects} />}/>
                       <Route path={"/edit/job"} render={(props) => <EditJob {...props}  editJob={this.editJob}/>} />
-                      {/*<Route path={"/edit/internship"} render={(props) => <EditInternship {...props}  editJob={this.editInternship}/>} />*/}
-                      {/*<Route path={"/edit/project"} render={(props) => <EditProject {...props}  editJob={this.editProject}/>} />*/}
+                      <Route path={"/edit/internship"} render={(props) => <EditInternship {...props}  editInternship={this.editInternship}/>} />
+                      <Route path={"/edit/project"} render={(props) => <EditProject {...props}  editProject={this.editProject}/>} />
                       <Route path={"/logout"} render={() => <Redirect to={"/login"}/>}/>
                       <Route path={"/"} render={() => <Redirect to={"/login"}/>}/>
@@ -121,8 +123,11 @@
 
     editJob = (job, index) => {
+      let jobs = this.state.currentUser.jobs;
+      jobs[index] = job;
+
       this.setState(prevState => ({
           currentUser:{
               ...prevState.currentUser,
-              jobs: Object.assign([],this.state.jobs,{[index]: job})
+              jobs: jobs
           }
       }))
@@ -130,8 +135,11 @@
 
     editInternship = (internship, index) => {
+        let interns = this.state.currentUser.internships;
+        interns[index] = internship;
+
         this.setState(prevState => ({
             currentUser:{
                 ...prevState.currentUser,
-                internships: Object.assign([],this.state.jobs,{[index]: internship})
+                internships: interns
             }
         }))
@@ -139,8 +147,11 @@
 
     editProject = (project, index) => {
+        let proj = this.state.currentUser.projects;
+        proj[index] = project;
+
         this.setState(prevState => ({
             currentUser:{
                 ...prevState.currentUser,
-                projects: Object.assign([],this.state.jobs,{[index]: project})
+                projects: proj
             }
         }))
Index: client_app/src/components/work_edit/edit_internship.js
===================================================================
--- client_app/src/components/work_edit/edit_internship.js	(revision 6729ba51f1105d56935c5cae90757ade1cac2082)
+++ client_app/src/components/work_edit/edit_internship.js	(revision 6729ba51f1105d56935c5cae90757ade1cac2082)
@@ -0,0 +1,97 @@
+import React,{Component} from 'react';
+import {Button, Container, Dropdown, Form, Label} from "semantic-ui-react";
+import {Redirect} from "react-router-dom";
+import WorkEdit from "../../repository/edit_work_repo";
+
+class EditInternship extends Component {
+    constructor(props) {
+        super(props);
+        this.state = {
+            id: props.location.state.item.id,
+            index: props.location.state.index,
+            title: props.location.state.item.title,
+            description: props.location.state.item.description,
+            salary: props.location.state.item.salary,
+            openSpots: props.location.state.item.openSpots,
+            accountId: props.location.state.item.accountId,
+            accountType: props.location.state.item.accountType,
+            success: false,
+            error: false,
+        }
+
+        this.attemptInternshipEdit = this.attemptInternshipEdit.bind(this);
+    }
+
+    handleCheck = (e, {value}) => {
+        console.log(e.target.name);
+        this.setState({
+            ...this.state,
+            [e.target.name]: value
+        })
+    }
+
+    attemptInternshipEdit(){
+        WorkEdit.internshipEdit(
+            this.state.id,
+            this.state.title,
+            this.state.description,
+            this.state.accountId,
+            this.state.salary,
+            this.state.openSpots
+        ).then(res => {
+            console.log(res.data);
+            if(res.data.error===null){
+                this.props.editInternship(res.data, this.state.index);
+                this.setState({
+                    success: true,
+                    error: null
+                })
+            }else{
+                this.setState({
+                    success: false,
+                    error: res.data.error
+                })
+            }
+        }).catch(err => {
+            this.setState({
+                error: "Error editing job!",
+                success: null
+            })
+        });
+    }
+
+    render(){
+        if(this.state.accountId==null || this.state.accountType==="USER" || this.state.accountType==="TEAM"){
+            return(
+                <Redirect to={"/login"}/>
+            );
+        }
+
+        if(this.state.success===true){
+            if(this.state.accountType==="COMPANY"){
+                return(
+                    <Redirect to={"/company/internships"}/>
+                );
+            }
+        }
+
+        return(
+            <Container>
+                <h1 style={{color: "red"}}>{this.state.error}</h1>
+                <Form onSubmit={this.attemptInternshipEdit}>
+                    <Form.Input id="title" name="title" type='text' value={this.state.title} required fluid label='Title'
+                                placeholder='Enter title...' onChange={this.handleCheck}/>
+                    <Form.Input id="description" name="description" value={this.state.description} type='text' required fluid label='Description'
+                                placeholder='Enter description...' onChange={this.handleCheck}/>
+                    <Form.Input id="salary" name="salary" type='number' value={this.state.salary} required fluid label='Salary'
+                                placeholder='Enter salary...' onChange={this.handleCheck}/>
+                    <Form.Input id="openSpots" name="openSpots" type='openSpots' value={this.state.openSpots} required fluid label='Open Spots'
+                                placeholder='Enter open spots...' onChange={this.handleCheck}/>
+                    <Button type="submit">Edit</Button>
+                </Form>
+            </Container>
+        );
+    }
+}
+
+export default EditInternship;
Index: client_app/src/components/work_edit/edit_job.js
===================================================================
--- client_app/src/components/work_edit/edit_job.js	(revision 6729ba51f1105d56935c5cae90757ade1cac2082)
+++ client_app/src/components/work_edit/edit_job.js	(revision 6729ba51f1105d56935c5cae90757ade1cac2082)
@@ -0,0 +1,95 @@
+import React,{Component} from 'react';
+import {Button, Container, Dropdown, Form, Label} from "semantic-ui-react";
+import {Redirect} from "react-router-dom";
+import WorkEdit from "../../repository/edit_work_repo";
+
+class EditJob extends Component {
+    constructor(props) {
+        super(props);
+        this.state = {
+            id: props.location.state.item.id,
+            index: props.location.state.index,
+            title: props.location.state.item.title,
+            description: props.location.state.item.description,
+            salary: props.location.state.item.salary,
+            accountId: props.location.state.item.accountId,
+            accountType: props.location.state.item.accountType,
+            success: false,
+            error: false,
+        }
+
+        this.attemptJobEdit = this.attemptJobEdit.bind(this);
+    }
+
+    handleCheck = (e, {value}) => {
+        this.setState({
+            ...this.state,
+            [e.target.name]: value
+        })
+    }
+
+    attemptJobEdit(){
+        WorkEdit.jobEdit(
+            this.state.id,
+            this.state.title,
+            this.state.description,
+            this.state.accountId,
+            this.state.salary
+        ).then(res => {
+            if(res.data.error===null){
+                this.props.editJob(res.data, this.state.index);
+                this.setState({
+                    success: true,
+                    error: null
+                })
+            }else{
+                this.setState({
+                    success: false,
+                    error: res.data.error
+                })
+            }
+        }).catch(err => {
+            this.setState({
+                error: "Error editing job!",
+                success: null
+            })
+        });
+    }
+
+    render(){
+        if(this.state.accountId==null || this.state.accountType==="USER"){
+            return(
+                <Redirect to={"/login"}/>
+            );
+        }
+
+        if(this.state.success===true){
+            if(this.state.accountType==="COMPANY"){
+                return(
+                    <Redirect to={"/company/jobs"}/>
+                );
+            }else{
+                return(
+                    <Redirect to={"/team/jobs"}/>
+                );
+            }
+        }
+
+        return(
+            <Container>
+                <h1 style={{color: "red"}}>{this.state.error}</h1>
+                <Form onSubmit={this.attemptJobEdit}>
+                    <Form.Input id="title" name="title" type='text' value={this.state.title} required fluid label='Title'
+                                placeholder='Enter title...' onChange={this.handleCheck}/>
+                    <Form.Input id="description" name="description" value={this.state.description} type='text' required fluid label='Description'
+                                placeholder='Enter description...' onChange={this.handleCheck}/>
+                    <Form.Input id="salary" name="salary" type='number' value={this.state.salary} required fluid label='Salary'
+                                placeholder='Enter salary...' onChange={this.handleCheck}/>
+                    <Button type="submit">Edit</Button>
+                </Form>
+            </Container>
+        );
+    }
+}
+
+export default EditJob;
Index: client_app/src/components/work_edit/edit_project.js
===================================================================
--- client_app/src/components/work_edit/edit_project.js	(revision 6729ba51f1105d56935c5cae90757ade1cac2082)
+++ client_app/src/components/work_edit/edit_project.js	(revision 6729ba51f1105d56935c5cae90757ade1cac2082)
@@ -0,0 +1,91 @@
+import React,{Component} from 'react';
+import {Button, Container, Dropdown, Form, Label} from "semantic-ui-react";
+import {Redirect} from "react-router-dom";
+import WorkEdit from "../../repository/edit_work_repo";
+
+class EditProject extends Component {
+    constructor(props) {
+        super(props);
+        this.state = {
+            id: props.location.state.item.id,
+            index: props.location.state.index,
+            title: props.location.state.item.title,
+            description: props.location.state.item.description,
+            salary: props.location.state.item.salary,
+            accountId: props.location.state.item.accountId,
+            accountType: props.location.state.item.accountType,
+            success: false,
+            error: false,
+        }
+
+        this.attemptProjectEdit = this.attemptProjectEdit.bind(this);
+    }
+
+    handleCheck = (e, {value}) => {
+        this.setState({
+            ...this.state,
+            [e.target.name]: value
+        })
+    }
+
+    attemptProjectEdit(){
+        WorkEdit.projectEdit(
+            this.state.id,
+            this.state.title,
+            this.state.description,
+            this.state.accountId,
+            this.state.salary
+        ).then(res => {
+            if(res.data.error===null){
+                this.props.editProject(res.data, this.state.index);
+                this.setState({
+                    success: true,
+                    error: null
+                })
+            }else{
+                this.setState({
+                    success: false,
+                    error: res.data.error
+                })
+            }
+        }).catch(err => {
+            this.setState({
+                error: "Error editing job!",
+                success: null
+            })
+        });
+    }
+
+    render(){
+        if(this.state.accountId==null || this.state.accountType==="USER" || this.state.accountType==="COMPANY"){
+            return(
+                <Redirect to={"/login"}/>
+            );
+        }
+
+        if(this.state.success===true){
+            if(this.state.accountType==="TEAM"){
+                return(
+                    <Redirect to={"/team/projects"}/>
+                );
+            }
+        }
+
+        return(
+            <Container>
+                <h1 style={{color: "red"}}>{this.state.error}</h1>
+                <Form onSubmit={this.attemptProjectEdit}>
+                    <Form.Input id="title" name="title" type='text' value={this.state.title} required fluid label='Title'
+                                placeholder='Enter title...' onChange={this.handleCheck}/>
+                    <Form.Input id="description" name="description" value={this.state.description} type='text' required fluid label='Description'
+                                placeholder='Enter description...' onChange={this.handleCheck}/>
+                    <Form.Input id="salary" name="salary" type='number' value={this.state.salary} required fluid label='Salary'
+                                placeholder='Enter salary...' onChange={this.handleCheck}/>
+                    <Button type="submit">Edit</Button>
+                </Form>
+            </Container>
+        );
+    }
+}
+
+export default EditProject;
