Index: client_app/src/components/main/App.js
===================================================================
--- client_app/src/components/main/App.js	(revision 7944fab29e760bacd71fc1f90e963c337e5b7cca)
+++ client_app/src/components/main/App.js	(revision df3a3952e4e6392e41aaf48c8ea528bedfa619aa)
@@ -14,6 +14,7 @@
 import TeamJobs from "../work/team_jobs";
 import CompanyInternships from "../work/company_internships";
-import UserRegister from "../../repository/register_repo";
 import RegisterUser from "../register/register_user_form";
+import RegisterCompany from "../register/register_company_form";
+import RegisterTeam from "../register/register_team_form";
 
 class App extends Component{
@@ -23,4 +24,5 @@
         logged: false,
         error: null,
+        success: null,
         currentUser: {
         }
@@ -33,5 +35,5 @@
                   <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={"/login"} render={() => <Login success={this.state.success} 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}/>}/>
@@ -42,5 +44,7 @@
                       <Route path={"/company/jobs"} render={() => <CompanyJobs userProfile={this.state.currentUser}/>}/>
                       <Route path={"/company/internships"} render={() => <CompanyInternships userProfile={this.state.currentUser}/>}/>
-                      <Route path={"/register/user"} render={() => <RegisterUser error={null} success={null}/>}/>
+                      <Route path={"/register/user"} render={() => <RegisterUser message={this.setSuccess} />}/>
+                      <Route path={"/register/company"} render={() => <RegisterCompany message={this.setSuccess} />}/>
+                      <Route path={"/register/team"} render={() => <RegisterTeam message={this.setSuccess}/>}/>
                       <Route path={"/logout"} render={() => <Redirect to={"/login"}/>}/>
                       <Route path={"/"} render={() => <Redirect to={"/login"}/>}/>
@@ -58,4 +62,9 @@
   }
 
+  setSuccess = (message) => {
+      this.setState({
+          success: message
+      })
+  }
 
   attemptLogin = (email, password, type) => {
Index: client_app/src/components/register/register_company_form.js
===================================================================
--- client_app/src/components/register/register_company_form.js	(revision df3a3952e4e6392e41aaf48c8ea528bedfa619aa)
+++ client_app/src/components/register/register_company_form.js	(revision df3a3952e4e6392e41aaf48c8ea528bedfa619aa)
@@ -0,0 +1,94 @@
+import React from 'react';
+import 'semantic-ui-react';
+import {Button, Container, Form} from "semantic-ui-react";
+import { Redirect } from 'react-router-dom';
+import UserRegister from "../../repository/register_repo";
+import {Component} from "react/cjs/react.production.min";
+
+class RegisterCompany extends Component  {
+    constructor(props){
+        super(props);
+        this.state = {
+            email: "",
+            password: "",
+            name:"",
+            members: "",
+            city: "",
+            street: "",
+            error: null,
+            success: null
+        }
+        this.attemptCompanyRegister = this.attemptCompanyRegister.bind(this);
+    }
+
+    handleCheck = (e, {value}) => {
+            this.setState({
+                ...this.state,
+                [e.target.name]: value
+            })
+    }
+
+    attemptCompanyRegister = () => {
+        UserRegister.companyRegister(
+            this.state.email,
+            this.state.password,
+            this.state.name,
+            this.state.country
+            ,this.state.city,
+            this.state.street
+        ).then(res =>{
+            if(res.data.success!=null){
+                this.setState({
+                    success: res.data.success,
+                    error: null
+                })
+                this.props.message(this.state.success);
+            }else{
+                this.setState({
+                    error: res.data.error,
+                    success: null
+                })
+            }
+        }).catch(err => {
+            this.setState({
+                error: "Company already exists!",
+                success: null
+            })
+        })
+    }
+
+    componentDidMount(){
+        this.props.message(null);
+    }
+
+    render() {
+        if(this.state.success!=null){
+            return(
+                <Redirect to={"/login"}/>
+            );
+        }
+
+            return (
+                <Container>
+                    <h1 style={{color: "red"}}>{this.state.error}</h1>
+                    <Form onSubmit={this.attemptCompanyRegister}>
+                        <Form.Input id="email" name="email" type='email' required fluid label='E-mail'
+                                    placeholder='Enter e-mail.' onChange={this.handleCheck}/>
+                        <Form.Input id="password" name="password" type='password' required fluid label='Password'
+                                    placeholder='Enter password.' onChange={this.handleCheck}/>
+                        <Form.Input id="name" name="name" type='text' required fluid label='Name'
+                                    placeholder='Enter company name.' onChange={this.handleCheck}/>
+                        <Form.Input id="country" name="country" type='text' required fluid label='Country'
+                                    placeholder='Enter your country.' onChange={this.handleCheck}/>
+                        <Form.Input id="city" name="city" type='text' required fluid label='City'
+                                    placeholder='Enter your city.' onChange={this.handleCheck}/>
+                        <Form.Input id="street" name="street" type='text' required fluid label='Street'
+                                    placeholder='Enter address street.' onChange={this.handleCheck}/>
+                        <Form.Field control={Button}>Register</Form.Field>
+                    </Form>
+                </Container>
+            );
+    }
+}
+
+export default RegisterCompany;
Index: client_app/src/components/register/register_team_form.js
===================================================================
--- client_app/src/components/register/register_team_form.js	(revision df3a3952e4e6392e41aaf48c8ea528bedfa619aa)
+++ client_app/src/components/register/register_team_form.js	(revision df3a3952e4e6392e41aaf48c8ea528bedfa619aa)
@@ -0,0 +1,86 @@
+import React from 'react';
+import 'semantic-ui-react';
+import {Button, Container, Form} from "semantic-ui-react";
+import { Redirect } from 'react-router-dom';
+import UserRegister from "../../repository/register_repo";
+import {Component} from "react/cjs/react.production.min";
+
+class RegisterTeam extends Component  {
+    constructor(props){
+        super(props);
+        this.state = {
+            email: "",
+            password: "",
+            name:"",
+            members: 0,
+            error: null,
+            success: null
+        }
+        this.attemptTeamRegister = this.attemptTeamRegister.bind(this);
+    }
+
+    handleCheck = (e, {value}) => {
+        this.setState({
+            ...this.state,
+            [e.target.name]: value
+        })
+    }
+
+    attemptTeamRegister = () => {
+        UserRegister.teamRegister(
+            this.state.email,
+            this.state.password,
+            this.state.name,
+            this.state.members
+        ).then(res =>{
+            if(res.data.success!=null){
+                this.setState({
+                    success: res.data.success,
+                    error: null
+                })
+                this.props.message(this.state.success);
+            }else{
+                this.setState({
+                    error: res.data.error,
+                    success: null
+                })
+            }
+        }).catch(err => {
+            this.setState({
+                error: "Team already exists!",
+                success: null
+            })
+        })
+    }
+
+    componentDidMount(){
+        this.props.message(null);
+    }
+
+    render() {
+        if (this.state.success != null) {
+            return (
+                <Redirect to={"/login"}/>
+            );
+        }
+
+        return (
+            <Container>
+                <h1 style={{color: "red"}}>{this.state.error}</h1>
+                <Form onSubmit={this.attemptTeamRegister}>
+                    <Form.Input id="email" name="email" type='email' required fluid label='E-mail'
+                                placeholder='Enter e-mail.' onChange={this.handleCheck}/>
+                    <Form.Input id="password" name="password" type='password' required fluid label='Password'
+                                placeholder='Enter password.' onChange={this.handleCheck}/>
+                    <Form.Input id="name" name="name" type='text' required fluid label='Name'
+                                placeholder='Enter company name.' onChange={this.handleCheck}/>
+                    <Form.Input id="members" name="members" type="number" required fluid label="Number of members"
+                                placeholder="Enter member count." onChange={this.handleCheck}/>
+                    <Form.Field control={Button}>Register</Form.Field>
+                </Form>
+            </Container>
+        );
+    }
+}
+
+export default RegisterTeam;
Index: client_app/src/components/register/register_user_form.js
===================================================================
--- client_app/src/components/register/register_user_form.js	(revision 7944fab29e760bacd71fc1f90e963c337e5b7cca)
+++ client_app/src/components/register/register_user_form.js	(revision df3a3952e4e6392e41aaf48c8ea528bedfa619aa)
@@ -6,4 +6,5 @@
 import UserRegister from "../../repository/register_repo";
 import {Component} from "react/cjs/react.production.min";
+import Login from "../login/login";
 
 class RegisterUser extends Component {
@@ -18,6 +19,6 @@
             retainedSkills: [],
             skillsToLearn: [],
-            error: props.error,
-            success: props.success,
+            error: null,
+            success: null,
             sortedOptions:[]
         }
@@ -58,4 +59,6 @@
                     error: null
                 })
+
+                this.props.message(this.state.success);
             }else{
                 this.setState({
@@ -73,9 +76,7 @@
 
     render() {
-        console.log(this.state.success);
-
         if(this.state.success!=null){
             return(
-                <Redirect to={"/login"} success={this.state.success}/>
+                <Redirect to={"/login"}/>
             );
         }
@@ -106,4 +107,6 @@
 
     componentDidMount(){
+        this.props.message(null);
+
         SkillFetch.fetchAll().then((data) =>{
             var sorted = [];
Index: client_app/src/repository/register_repo.js
===================================================================
--- client_app/src/repository/register_repo.js	(revision 7944fab29e760bacd71fc1f90e963c337e5b7cca)
+++ client_app/src/repository/register_repo.js	(revision df3a3952e4e6392e41aaf48c8ea528bedfa619aa)
@@ -12,5 +12,5 @@
         });
     },
-    teamRegister:(email, password, name, members) => {
+    teamRegister: (email, password, name, members) => {
         return axios.post("/register/team",{
             "email": email,
@@ -20,5 +20,5 @@
         });
     },
-    companyRegister:(email, password, name, country, city, street) => {
+    companyRegister: (email, password, name, country, city, street) => {
         return axios.post("/register/company",{
             "email": email,
Index: src/main/java/it/finki/tinki/service/impl/AccountServiceImpl.java
===================================================================
--- src/main/java/it/finki/tinki/service/impl/AccountServiceImpl.java	(revision 7944fab29e760bacd71fc1f90e963c337e5b7cca)
+++ src/main/java/it/finki/tinki/service/impl/AccountServiceImpl.java	(revision df3a3952e4e6392e41aaf48c8ea528bedfa619aa)
@@ -106,4 +106,6 @@
         }
 
+        System.out.println(email);
+
         if(this.companyRepository.findByEmail(email).isPresent()){
             throw new UserExistsException();
