Index: client_app/src/components/data/components/company_jobs.js
===================================================================
--- client_app/src/components/data/components/company_jobs.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
+++ client_app/src/components/data/components/company_jobs.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
@@ -0,0 +1,34 @@
+import React from 'react';
+import {Link, Redirect} from 'react-router-dom';
+import { Container, Card, Button } from 'semantic-ui-react';
+import Jobs from '../components/item_components/job_component';
+
+
+const CompanyJobs = (props) =>{
+    if(props.userProfile.type==="COMPANY"){
+        if(props.userProfile.email!=null){
+            return(
+                <Container textAlign="left">
+                    <Button as={Link} to={"/job/add"} primary>Add</Button>
+                    <h1>Registered Jobs:</h1>
+                    {props.userProfile.jobs.map(item =>{
+                        return <Jobs
+                            name={item.name}
+                            description={item.description}
+                            accountName={item.accountName}
+                            accountEmail={item.accountEmail}
+                            skills={item.skillsRequired}
+                            type={props.userProfile.type}
+                        />
+                    })}
+                </Container>
+            );
+        }
+    }
+
+    return (
+        <Redirect to={"/login"}/>
+    );
+}
+
+export default CompanyJobs;
Index: client_app/src/components/data/components/item_components/internship_component.js
===================================================================
--- client_app/src/components/data/components/item_components/internship_component.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
+++ client_app/src/components/data/components/item_components/internship_component.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
@@ -0,0 +1,26 @@
+import React from 'react';
+import {Header, List, Segment, Button} from 'semantic-ui-react';
+
+const Internships = (props) => {
+    return(
+        <Segment>
+            <Header as="h3">{props.title}</Header>
+            {props.type!=="USER" ? <Button primary>Edit</Button> : <span> </span>}
+            <Segment>{props.description}</Segment>
+            <Segment>
+                <Header as="h5" color="gray">{props.accountName}</Header>
+                <Header as="h4" color="blue">Owner Mail: {props.accountEmail}</Header>
+            </Segment>
+            <Segment>
+                <Header as="h3">Skills Trained:</Header>
+                <List>
+                    {props.skills.map(skill => {
+                        return <List.Item>{skill.name}</List.Item>
+                    })}
+                </List>
+            </Segment>
+        </Segment>
+    );
+}
+
+export default Internships;
Index: client_app/src/components/data/components/item_components/job_component.js
===================================================================
--- client_app/src/components/data/components/item_components/job_component.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
+++ client_app/src/components/data/components/item_components/job_component.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
@@ -0,0 +1,27 @@
+import React from 'react';
+import {Header, List, Segment, Button} from 'semantic-ui-react';
+
+const Jobs = (props) => {
+
+    return(
+        <Segment>
+            <Header as="h3">{props.title}</Header>
+            {props.type!=="USER" ? <Button primary>Edit</Button> : <span> </span>}
+            <Segment>{props.description}</Segment>
+            <Segment>
+                <Header as="h5" color="gray">{props.accountName}</Header>
+                <Header as="h4" color="blue">Owner Mail: {props.accountEmail}</Header>
+            </Segment>
+            <Segment>
+                <Header as="h3">Skills Required:</Header>
+                <List>
+                    {props.skills.map(skill => {
+                        return <List.Item>{skill.name}</List.Item>
+                    })}
+                </List>
+            </Segment>
+        </Segment>
+    );
+}
+
+export default Jobs;
Index: client_app/src/components/data/components/item_components/project_component.js
===================================================================
--- client_app/src/components/data/components/item_components/project_component.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
+++ client_app/src/components/data/components/item_components/project_component.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
@@ -0,0 +1,27 @@
+import React from 'react';
+import {Header, List, Segment, Button} from 'semantic-ui-react';
+
+const Projects = (props) => {
+
+    return(
+        <Segment>
+            <Header as="h3">{props.title}</Header>
+            {props.type!=="USER" ? <Button primary>Edit</Button> : <span> </span>}
+            <Segment>{props.description}</Segment>
+            <Segment>
+                <Header as="h5" color="gray">{props.accountName}</Header>
+                <Header as="h4" color="blue">Owner Mail: {props.accountEmail}</Header>
+            </Segment>
+            <Segment>
+                <Header as="h3">Skills Required:</Header>
+                <List>
+                    {props.skills.map(skill => {
+                        return <List.Item>{skill.name}</List.Item>
+                    })}
+                </List>
+            </Segment>
+        </Segment>
+    );
+}
+
+export default Projects;
Index: client_app/src/components/data/components/profiles/company_profile.js
===================================================================
--- client_app/src/components/data/components/profiles/company_profile.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
+++ client_app/src/components/data/components/profiles/company_profile.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
@@ -0,0 +1,17 @@
+import React from 'react';
+import {Container, Header, Table, Item, Button} from 'semantic-ui-react'
+import {Link} from "react-router-dom";
+
+const CompanyProfile = (props) =>{
+    return(
+        <Container textAlign="left">
+            <Header>Company:</Header>
+            <h3>{props.data.name}</h3>
+            <h2>E-mail: {props.data.email}</h2>
+            <h3>Address: {props.data.address.country} {props.data.address.city} {props.data.address.street}</h3>
+            <Button primary as={Link} to={"/company/edit"}>Edit</Button>
+        </Container>
+    );
+}
+
+export default CompanyProfile;
Index: client_app/src/components/data/components/profiles/team_profile.js
===================================================================
--- client_app/src/components/data/components/profiles/team_profile.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
+++ client_app/src/components/data/components/profiles/team_profile.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
@@ -0,0 +1,17 @@
+import React from 'react';
+import {Container, Header, Table, Item, Button} from 'semantic-ui-react'
+import {Link} from "react-router-dom";
+
+const TeamProfile = (props) =>{
+    return(
+        <Container textAlign="left">
+            <Header>Team:</Header>
+            <h3>{props.data.name}</h3>
+            <h2>E-mail: {props.data.email}</h2>
+            <h3>Members: {props.data.members}</h3>
+            <Button primary as={Link} to={"/team/edit"}>Edit</Button>
+        </Container>
+    );
+}
+
+export default TeamProfile;
Index: client_app/src/components/data/components/profiles/user_profile.js
===================================================================
--- client_app/src/components/data/components/profiles/user_profile.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
+++ client_app/src/components/data/components/profiles/user_profile.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
@@ -0,0 +1,40 @@
+import React from 'react';
+import {Container, Header, Table, Item, Button, Segment} from 'semantic-ui-react'
+import {Link} from "react-router-dom";
+
+const UserDetails = (props) =>{
+    return(
+        <Container textAlign="left">
+            <Header as="h1">Welcome</Header>
+            <Segment>
+                <Header as="h3">{props.data.name} {props.data.surname}</Header>
+                <Header as="h4" color="gray">Mail: {props.data.email}</Header>
+                <Table celled>
+                    <Table.Header>
+                        <Table.Row>
+                            <Table.HeaderCell>Retained Skills:</Table.HeaderCell>
+                            <Table.HeaderCell>Skills to Learn:</Table.HeaderCell>
+                        </Table.Row>
+                    </Table.Header>
+                    <Table.Body>
+                        <Table.Row>
+                            <Table.Cell active>
+                                {props.data.retained.map((value, index) => {
+                                    return <Item key={index}>{value.name}</Item>
+                                })}
+                            </Table.Cell>
+                            <Table.Cell active>
+                                {props.data.toLearn.map((value, index) => {
+                                    return <Item key={index}>{value.name}</Item>
+                                })}
+                            </Table.Cell>
+                        </Table.Row>
+                    </Table.Body>
+                </Table>
+            </Segment>
+            <Button icon="settings" primary as={Link} to={"/user/edit"} />
+        </Container>
+    );
+}
+
+export default UserDetails;
Index: client_app/src/components/data/components/user_internships.js
===================================================================
--- client_app/src/components/data/components/user_internships.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
+++ client_app/src/components/data/components/user_internships.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
@@ -0,0 +1,33 @@
+import {Card, Container} from "semantic-ui-react";
+import {Redirect} from "react-router-dom";
+import React from "react";
+
+const UserInternships = (props) =>{
+    var itemsArray = [];
+
+    if(props.userProfile.type==="USER"){
+        if(props.userProfile.email!=null){
+            props.userProfile.internships.forEach(item => {
+                let obj = {}
+                obj.header = item.title;
+                obj.description = item.description + "\n" + item.accountEmail + " for contact!";
+                obj.meta = "Company: " + item.accountName + " / Salary: " + item.salary;
+
+                itemsArray.push(obj);
+            });
+
+            return(
+                <Container textAlign="left">
+                    <h1>Internships for you!</h1>
+                    <Card.Group items={itemsArray} />
+                </Container>
+            );
+        }
+    }
+
+    return (
+        <Redirect to={"/login"}/>
+    );
+}
+
+export default UserInternships;
Index: client_app/src/components/data/components/user_jobs.js
===================================================================
--- client_app/src/components/data/components/user_jobs.js	(revision a70db1a27a62efb3c6323fe66d6a06d71206b80f)
+++ client_app/src/components/data/components/user_jobs.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
@@ -1,5 +1,6 @@
 import React from 'react';
 import { Redirect } from 'react-router-dom';
-import { Container, Card } from 'semantic-ui-react'
+import { Container, Card } from 'semantic-ui-react';
+import Jobs from '../components/item_components/job_component';
 
 
@@ -7,24 +8,22 @@
     var itemsArray = [];
 
-    if(props.userProfile.email!=null){
-        props.userProfile.jobs.forEach(item => {
-            let obj = {}
-            obj.header = item.title;
-            obj.description = item.description + "\n" + "Contact: " + item.accountEmail;
-            if(item.accountType=="TEAM"){
-                obj.meta = "Team: " + item.accountName + " / Salary: " + item.salary
-            }else{
-                obj.meta = "Company: " + item.accountName + " / Salary: " + item.salary
-            }
-
-            itemsArray.push(obj);
-        });
-
-        return(
-            <Container textAlign="left">
-                <h1>Jobs for you!</h1>
-                <Card.Group items={itemsArray} />
-            </Container>
-        );
+    if(props.userProfile.type==="USER"){
+        if(props.userProfile.email!=null){
+            return(
+                <Container textAlign="left">
+                    <h1>Jobs for you!</h1>
+                    {props.userProfile.jobs.map(item =>{
+                        return <Jobs
+                            title={item.title}
+                            description={item.description}
+                            accountName={item.accountName}
+                            accountEmail={item.accountEmail}
+                            skills={item.skillsRequired}
+                            type={props.userProfile.type}
+                        />
+                    })}
+                </Container>
+            );
+        }
     }
 
Index: ient_app/src/components/data/components/user_profile.js
===================================================================
--- client_app/src/components/data/components/user_profile.js	(revision a70db1a27a62efb3c6323fe66d6a06d71206b80f)
+++ 	(revision )
@@ -1,36 +1,0 @@
-import React from 'react';
-import { Container, Header, Table, Item } from 'semantic-ui-react'
-
-const UserDetails = (props) =>{
-    return(
-        <Container textAlign="left">
-            <Header>Welcome</Header>
-            <h3>{props.data.name} {props.data.surname}</h3>
-            <h2>E-mail: {props.data.email}</h2>
-            <Table celled>
-                <Table.Header>
-                    <Table.Row>
-                        <Table.HeaderCell>Retained Skills:</Table.HeaderCell>
-                        <Table.HeaderCell>Skills to Learn:</Table.HeaderCell>
-                    </Table.Row>
-                </Table.Header>
-                <Table.Body>
-                    <Table.Row>
-                        <Table.Cell active>
-                            {props.data.retained.map((value, index) => {
-                                return <Item key={index}>{value.name}</Item>
-                            })}
-                        </Table.Cell>
-                        <Table.Cell active>
-                            {props.data.toLearn.map((value, index) => {
-                                return <Item key={index}>{value.name}</Item>
-                            })}
-                        </Table.Cell>
-                    </Table.Row>
-                </Table.Body>
-            </Table>
-        </Container>
-    );
-}
-
-export default UserDetails;
Index: client_app/src/components/data/components/user_projects.js
===================================================================
--- client_app/src/components/data/components/user_projects.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
+++ client_app/src/components/data/components/user_projects.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
@@ -0,0 +1,33 @@
+import {Card, Container} from "semantic-ui-react";
+import {Redirect} from "react-router-dom";
+import React from "react";
+
+const UserProjects = (props) =>{
+    var itemsArray = [];
+
+    if(props.userProfile.type==="USER"){
+        if(props.userProfile.email!=null){
+            props.userProfile.projects.forEach(item => {
+                let obj = {}
+                obj.header = item.title;
+                obj.description = item.description + "\n" + item.accountEmail + " for contact!";
+                obj.meta = "Team: " + item.accountName + " / Salary: " + item.salary;
+
+                itemsArray.push(obj);
+            });
+
+            return(
+                <Container textAlign="left">
+                    <h1>Projects for you!</h1>
+                    <Card.Group items={itemsArray} />
+                </Container>
+            );
+        }
+    }
+
+    return (
+        <Redirect to={"/login"}/>
+    );
+}
+
+export default UserProjects;
Index: client_app/src/components/data/profile.js
===================================================================
--- client_app/src/components/data/profile.js	(revision a70db1a27a62efb3c6323fe66d6a06d71206b80f)
+++ client_app/src/components/data/profile.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
@@ -1,5 +1,7 @@
 import React from 'react';
-import UserDetails from "./components/user_profile";
+import UserDetails from "./components/profiles/user_profile";
 import { Redirect } from "react-router-dom";
+import CompanyProfile from "./components/profiles/company_profile";
+import TeamProfile from "./components/profiles/team_profile";
 
 const Profile = (props) => {
@@ -17,4 +19,24 @@
     }
 
+    if(props.userProfile.type==="COMPANY"){
+        return (
+            <CompanyProfile data={{
+                email: props.userProfile.email,
+                name: props.userProfile.name,
+                address: props.userProfile.address
+            }}/>
+        );
+    }
+
+    if(props.userProfile.type==="TEAM"){
+        return (
+            <TeamProfile data={{
+                email: props.userProfile.email,
+                name: props.userProfile.name,
+                members: props.userProfile.members
+            }}/>
+        );
+    }
+
     return(
         <Redirect to={"/login"}/>
Index: client_app/src/components/login/login.js
===================================================================
--- client_app/src/components/login/login.js	(revision a70db1a27a62efb3c6323fe66d6a06d71206b80f)
+++ client_app/src/components/login/login.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
@@ -31,5 +31,5 @@
                 <h1 style={{color: "red"}}>{props.error}</h1>
                 <Form onSubmit={onFormSubmit}>
-                    <Form.Input id="email" name="email" type='text' required fluid label='E-mail' placeholder='Enter e-mail.' onChange={handleCheck} />
+                    <Form.Input id="email" name="email" type='email' required fluid label='E-mail' placeholder='Enter e-mail.' onChange={handleCheck} />
                     <Form.Input id="password" name="password" type='password' required fluid label='Password' placeholder='Enter password.' onChange={handleCheck} />
                     <Form.Field
Index: client_app/src/components/main/App.js
===================================================================
--- client_app/src/components/main/App.js	(revision a70db1a27a62efb3c6323fe66d6a06d71206b80f)
+++ client_app/src/components/main/App.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
@@ -8,4 +8,7 @@
 import UserLogin from "../../repository/login_repo";
 import UserJobs from "../data/components/user_jobs";
+import UserInternships from "../data/components/user_internships";
+import UserProjects from "../data/components/user_projects";
+import CompanyJobs from "../data/components/company_jobs";
 
 class App extends Component{
@@ -23,9 +26,20 @@
           return(
               <Router>
-                  <HeaderComp acc={this.state.currentUser.email} accType={this.state.currentUser.type} name={this.state.currentUser.name}/>
+                  <HeaderComp acc={this.state.currentUser.email} accType={this.state.currentUser.type} name={this.state.currentUser.name} removeState={this.removeState}/>
                   <main>
-                      <Route path={"/login"} render={() => <Login error={this.state.error} onCompleteForm={this.attemptLogin} loggedIn={this.state.logged}/>}/>
-                      <Route path={"/profile"} render={() => <Profile userProfile={this.state.currentUser}/>}/>
-                      <Route path={"/jobs"} render={() => <UserJobs userProfile={this.state.currentUser}/>}/>
+                      <Route path={"/login"} render={() => <Login error={this.state.error} onCompleteForm={this.attemptLogin} loggedIn={this.state.logged}/>} />
+                      <Route path={"/profile"} render={() => <Profile userProfile={this.state.currentUser}/>} />
+                      <Route path={"/user/jobs"} render={() => <UserJobs userProfile={this.state.currentUser}/>} />
+                      <Route path={"/user/internships"} render={() => <UserInternships userProfile={this.state.currentUser}/>} />
+                      <Route path={"/user/projects"} render={() => <UserProjects userProfile={this.state.currentUser}/>} />
+                      <Route path={"/team/jobs"} />
+                      <Route path={"/team/projects"} />
+                      <Route path={"/company/jobs"} render={() => <CompanyJobs userProfile={this.state.currentUser} />}/>
+                      <Route path={"/company/internships"}/>
+                      <Route path={"/profile/edit"} />
+                      <Route path={"/job/edit"} />
+                      <Route path={"/internship/edit"}/>
+                      <Route path={"/project/edit"} />
+                      <Route path={"/logout"} render={() => <Redirect to={"/login"}/>}/>
                       <Route path={"/"} render={() => <Redirect to={"/login"}/>}/>
                   </main>
@@ -33,4 +47,13 @@
           );
   }
+
+  removeState = () => {
+      this.setState({
+          logged: false,
+          error: null,
+          currentUser: {}
+      })
+  }
+
 
   attemptLogin = (email, password, type) => {
Index: client_app/src/components/template/header.js
===================================================================
--- client_app/src/components/template/header.js	(revision a70db1a27a62efb3c6323fe66d6a06d71206b80f)
+++ client_app/src/components/template/header.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
@@ -1,5 +1,5 @@
 import React from 'react';
 import {Link} from "react-router-dom";
-import {Menu, MenuItem} from "semantic-ui-react";
+import {Menu, MenuItem } from "semantic-ui-react";
 
 
@@ -7,6 +7,15 @@
     if(props.accType == null){
         return(
-            <Menu inverted position="right">
-                <MenuItem as={Link} to='/login'>
+            <Menu inverted>
+                <MenuItem  as={Link} to='/register/user'>
+                    Register User
+                </MenuItem>
+                <MenuItem as={Link} to='/register/company'>
+                    Register Company
+                </MenuItem>
+                <MenuItem as={Link} to='/register/team'>
+                    Register Team
+                </MenuItem>
+                <MenuItem position="right" as={Link} to='/login'>
                     Login
                 </MenuItem>
@@ -16,48 +25,57 @@
         if(props.accType==="COMPANY"){
             return(
-                <Menu inverted position="right">
+                <Menu inverted>
                     <Menu.Item as={Link} to='/profile'>
                         Profile
                     </Menu.Item>
-                    <Menu.Item as={Link} to='/jobs'>
+                    <Menu.Item as={Link} to='/company/jobs'>
                         Jobs
                     </Menu.Item>
-                    <Menu.Item as={Link} to='/internships'>
+                    <Menu.Item as={Link} to='/company/internships'>
                         Internships
                     </Menu.Item>
+                    <MenuItem onClick={props.removeState} position="right" as={Link} to='/logout'>
+                        Logout
+                    </MenuItem>
                 </Menu>
             );
         }else if(props.accType==="TEAM"){
             return(
-                <Menu inverted position="right">
-                    <Menu.Item as={Link} to='/profile'>
+                <Menu inverted>
+                    <Menu.Item position="right" as={Link} to='/profile'>
                         Profile
                     </Menu.Item>
-                    <Menu.Item as={Link} to='/jobs'>
+                    <Menu.Item as={Link} to='/team/jobs'>
                         Jobs
                     </Menu.Item>
-                    <Menu.Item as={Link} to='/projects'>
+                    <Menu.Item as={Link} to='/team/projects'>
                         Projects
                     </Menu.Item>
+                    <MenuItem onClick={props.removeState} position="right" as={Link} to='/logout'>
+                        Logout
+                    </MenuItem>
                 </Menu>
             );
         }else if(props.accType==="USER"){
             return(
-                <Menu inverted position="right">
+                <Menu inverted>
                     <Menu.Item as={Link} to='/profile'>
                         Profile
                     </Menu.Item>
-                    <Menu.Item as={Link} to='/jobs'>
+                    <Menu.Item as={Link} to='/user/jobs'>
                         Jobs
                     </Menu.Item>
-                    <Menu.Item as={Link} to='/internships'>
+                    <Menu.Item as={Link} to='/user/internships'>
                         Internships
                     </Menu.Item>
-                    <Menu.Item as={Link} to='/projects'>
+                    <Menu.Item as={Link} to='/user/projects'>
                         Projects
                     </Menu.Item>
-                    <Menu.Item as={Link} to='/search'>
+                    <Menu.Item as={Link} to='/user/search'>
                         Search
                     </Menu.Item>
+                    <MenuItem onClick={props.removeState} position="right" as={Link} to='/logout'>
+                        Logout
+                    </MenuItem>
                 </Menu>
             );
Index: client_app/src/repository/job_register_repo.js
===================================================================
--- client_app/src/repository/job_register_repo.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
+++ client_app/src/repository/job_register_repo.js	(revision 2e507a8a03f955f75313efa82c7c790ced348260)
@@ -0,0 +1,34 @@
+// import axios from '../custom_axios/axios';
+//
+// const UserRegister = {
+//     userRegister: (email, password, name, surname, skillsRetained, skillsToLearn) => {
+//         return axios.post("/register/user", {
+//             "email": email,
+//             "password": password,
+//             "name": name,
+//             "surname": surname,
+//             "skillsRetained": skillsRetained,
+//             "skillsToLearn": skillsToLearn
+//         });
+//     },
+//     teamRegister:(email, password, name, members) => {
+//         return axios.post("/register/team",{
+//             "email": email,
+//             "password": password,
+//             "name": name,
+//             "members": members
+//         });
+//     },
+//     companyRegister:(email, password, name, country, city, street) => {
+//         return axios.post("/register/company",{
+//             "email": email,
+//             "password": password,
+//             "name": name,
+//             "country": country,
+//             "city": city,
+//             "street": street
+//         });
+//     },
+// }
+//
+// export default UserRegister;
