diff --git a/NodeApp/src/managers/SessionManager.ts b/NodeApp/src/managers/SessionManager.ts
new file mode 100644
index 0000000000000000000000000000000000000000..573ba55d71285b27c1c5de2bd39d05712a6a9d9f
--- /dev/null
+++ b/NodeApp/src/managers/SessionManager.ts
@@ -0,0 +1,47 @@
+import * as jwt        from 'jsonwebtoken';
+import User            from '../models/User';
+import LocalConfig     from '../Config/LocalConfig/LocalConfig';
+import LocalConfigKeys from '../Config/LocalConfig/LocalConfigKeys';
+
+
+class SessionManager {
+    private _token: string | null = null;
+
+    public profile: User = new User();
+
+    constructor() { }
+
+    private static _instance: SessionManager;
+
+    public static get instance(): SessionManager {
+        if ( !SessionManager._instance ) {
+            SessionManager._instance = new SessionManager();
+        }
+
+        return SessionManager._instance;
+    }
+
+    get isLogged(): boolean {
+        return this._token !== null;
+    }
+
+    get token(): string {
+        return this._token || '';
+    }
+
+    set token(token: string) {
+        this._token = token;
+
+        const payload = jwt.decode(token);
+
+        if ( payload && typeof payload === 'object' && payload.profile ) {
+            this.profile = User.createFromJson(payload.profile);
+        }
+
+        LocalConfig.updateConfig(LocalConfigKeys.API_TOKEN, token);
+    }
+
+}
+
+
+export default SessionManager.instance;