diff --git a/src/client/types.ts b/src/client/types.ts
index 9b50c0f2e3bcf7ee76917538416c9428673b1c0e..72d1328499665113f818ffd02f3e1204d84514fd 100644
--- a/src/client/types.ts
+++ b/src/client/types.ts
@@ -1,4 +1,4 @@
-import { Profile } from '../types/types';
+import { IProfile } from '../types/Profile';
 
 export type EmptyReq = undefined;
 
@@ -11,5 +11,5 @@ export type RegisterReq = {
   password: string;
 };
 export type UserResponse = {
-  user: Profile;
+  user: IProfile;
 };
diff --git a/src/context/UserContext.tsx b/src/context/UserContext.tsx
index 4a9de33994518c115aacba0dce7c0ef423fb07ac..6dbe3ef4ed5241ff2d06c7fac61b90dd2b54c403 100644
--- a/src/context/UserContext.tsx
+++ b/src/context/UserContext.tsx
@@ -1,27 +1,27 @@
 import React, { createContext, useState } from 'react';
-import { Profile, Role } from '../types/types';
+import { IProfile, Role } from '../types/Profile';
 
 interface ContextProps {
-  profile: Profile;
-  setProfile: (profile: Profile) => void;
+  profile: IProfile;
+  setProfile: (profile: IProfile) => void;
 }
 
 // Context
-const initialState: Profile = {
-  external_id: 'abcd',
+const initialState: IProfile = {
+  externalId: 'abcd',
   studentCardNumber: '1234',
-  roomNumber: '104',
-  picture: 'alma.jpg',
+  roomNumber: 104,
   role: Role.User,
   email: 'alma@gmail.com',
   name: 'Nagy Gizike',
   warnings: [],
+  notices: [],
 };
 export const userContext = createContext({} as ContextProps);
 const { Provider } = userContext;
 
 export const UserStateProvider: React.FC = ({ children }) => {
-  const [profile, setProfile] = useState<Profile>(initialState);
+  const [profile, setProfile] = useState<IProfile>(initialState);
 
   return <Provider value={{ profile, setProfile }}>{children}</Provider>;
 };
diff --git a/src/types/News.ts b/src/types/News.ts
new file mode 100644
index 0000000000000000000000000000000000000000..c2c6470b389b9ef51438d7420105d3530f0c032a
--- /dev/null
+++ b/src/types/News.ts
@@ -0,0 +1,7 @@
+export interface INews {
+  title: string;
+  text: string;
+  publishedAt: Date;
+  publishedBy: string;
+  updatedBy?: string;
+}
diff --git a/src/types/Profile.ts b/src/types/Profile.ts
new file mode 100644
index 0000000000000000000000000000000000000000..190d3cbc23b0019d864b036fa3e03769787e17ac
--- /dev/null
+++ b/src/types/Profile.ts
@@ -0,0 +1,33 @@
+export enum Role {
+  Admin = 'ADMIN',
+  User = 'USER',
+}
+
+export interface INotice {
+  _id: string;
+  text: string;
+  redirect?: string;
+  isSeen: boolean;
+}
+
+export interface IWarning {
+  _id: string;
+  text: string;
+  date: Date;
+  givenBy: string;
+}
+
+export interface IProfile {
+  externalId: string;
+  studentCardNumber?: string;
+  roomNumber?: Number;
+  newPicture?: string;
+  acceptedPicture?: string;
+  role: Role;
+  email: string;
+  name: string;
+  isStaffMember?: boolean;
+  staffMemberText?: string;
+  warnings: IWarning[];
+  notices: INotice[];
+}
diff --git a/src/types/Term.ts b/src/types/Term.ts
new file mode 100644
index 0000000000000000000000000000000000000000..95267d0f0049d2c09690643695204cdde53b06f7
--- /dev/null
+++ b/src/types/Term.ts
@@ -0,0 +1,29 @@
+export enum MemberState {
+  Accepted = 'ACCEPTED',
+  Applied = 'APPLIED',
+  Rejected = 'REJECTED',
+}
+
+export enum CardState {
+  Created = 'CREATED',
+  Printed = 'PRINTED',
+  Given = 'GIVEN',
+}
+
+export interface IMember {
+  user: string;
+  memberState: MemberState;
+  cardState: CardState;
+  cardNumber: number;
+  cardReceiveDate?: Date;
+}
+
+export interface ITerm {
+  backgroundFile?: string;
+  name: string;
+  createDate?: Date;
+  startDate: Date;
+  endDate: Date;
+  deadline: Date;
+  members: IMember[];
+}
diff --git a/src/types/types.ts b/src/types/types.ts
deleted file mode 100644
index 23e1422b2a7f798168c27ff6a29b9d89c0b7e753..0000000000000000000000000000000000000000
--- a/src/types/types.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-export enum Role {
-  Admin,
-  Staff,
-  User,
-}
-
-export interface Profile {
-  external_id: string;
-  studentCardNumber: string;
-  roomNumber?: string;
-  picture: string;
-  role: Role.Admin | Role.Staff | Role.User;
-  email?: string;
-  name?: string;
-  warnings: [Warnings] | [];
-}
-
-export interface Warnings {
-  text: string;
-  date: Date;
-  given_by: {
-    _id: string;
-    name: string;
-  };
-}
-
-export interface News {
-  title: string;
-  text: string;
-  publishedAt: string;
-}