diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..a8fe7dd873987ff11116b7ea08e8fad7d288b47f
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,25 @@
+BSD 2-Clause License
+
+Copyright (c) 2021, Roland Bernard, Daniel Planötscher
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+   list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/server/src/v1/project.test.ts b/server/src/v1/project.test.ts
index 463cafad65663901b9fcde3983bb617b1657cc1e..5394ef25d596c7c074ec30447247e1647ff5091e 100644
--- a/server/src/v1/project.test.ts
+++ b/server/src/v1/project.test.ts
@@ -210,7 +210,7 @@ describe('GET /project/:uuid/work', () => {
         expect(resp.body.work.length).toEqual(3);
     });
 
-    test('containt all finished work information', async () => {
+    test('contains all finished work information', async () => {
         const resp = await request
             .get('/v1/project/00000000-0000-4000-8000-000000000002/work')
             .set('Authorization', `Bearer ${await generateAuthToken('00000000-0000-4000-8000-000000000000')}`);
@@ -232,7 +232,7 @@ describe('GET /project/:uuid/work', () => {
         });
     });
 
-    test('containt all unfinished work information', async () => {
+    test('contains all unfinished work information', async () => {
         const resp = await request
             .get('/v1/project/00000000-0000-4000-8000-000000000002/work')
             .set('Authorization', `Bearer ${await generateAuthToken('00000000-0000-4000-8000-000000000000')}`);
diff --git a/server/src/v1/task.test.ts b/server/src/v1/task.test.ts
index 90ed11850afc650223543d99d4b2a2886de54a2f..03e7dfb5f8536c90a97393b3f1ab7794da36395c 100644
--- a/server/src/v1/task.test.ts
+++ b/server/src/v1/task.test.ts
@@ -450,7 +450,7 @@ describe('GET /task/:uuid/work', () => {
         expect(resp.body.work.length).toEqual(3);
     });
 
-    test('containt all finished work information', async () => {
+    test('contains all finished work information', async () => {
         const resp = await request
             .get('/v1/task/00000000-0000-4000-8000-000000000005/work')
             .set('Authorization', `Bearer ${await generateAuthToken('00000000-0000-4000-8000-000000000000')}`);
@@ -472,7 +472,7 @@ describe('GET /task/:uuid/work', () => {
         });
     });
 
-    test('containt all unfinished work information', async () => {
+    test('contains all unfinished work information', async () => {
         const resp = await request
             .get('/v1/task/00000000-0000-4000-8000-000000000005/work')
             .set('Authorization', `Bearer ${await generateAuthToken('00000000-0000-4000-8000-000000000000')}`);
diff --git a/server/src/v1/team.test.ts b/server/src/v1/team.test.ts
index a81e212c7f484c74248806fb5b9a488281c181d7..fa620d21a2d4a0ef8309b12579813ee956977fb2 100644
--- a/server/src/v1/team.test.ts
+++ b/server/src/v1/team.test.ts
@@ -178,7 +178,7 @@ describe('GET /team/:uuid/projects', () => {
         expect(resp.body.projects.length).toEqual(2);
     });
 
-    test('containt all the projects information', async () => {
+    test('contains all the projects information', async () => {
         const resp = await request
             .get('/v1/team/00000000-0000-4000-8000-000000000000/projects')
             .set('Authorization', `Bearer ${await generateAuthToken('00000000-0000-4000-8000-000000000000')}`);
@@ -213,7 +213,7 @@ describe('GET /team/:uuid/work', () => {
         expect(resp.body.work.length).toEqual(3);
     });
 
-    test('containt all finished work information', async () => {
+    test('contains all finished work information', async () => {
         const resp = await request
             .get('/v1/team/00000000-0000-4000-8000-000000000000/work')
             .set('Authorization', `Bearer ${await generateAuthToken('00000000-0000-4000-8000-000000000000')}`);
@@ -235,7 +235,7 @@ describe('GET /team/:uuid/work', () => {
         });
     });
 
-    test('containt all unfinished work information', async () => {
+    test('contains all unfinished work information', async () => {
         const resp = await request
             .get('/v1/team/00000000-0000-4000-8000-000000000000/work')
             .set('Authorization', `Bearer ${await generateAuthToken('00000000-0000-4000-8000-000000000000')}`);
diff --git a/server/src/v1/user.test.ts b/server/src/v1/user.test.ts
index 4efa7f36d00a79edce97ced60ebb1c251e0e848a..8ba0f5a328a51942376b960171d46225c045aef4 100644
--- a/server/src/v1/user.test.ts
+++ b/server/src/v1/user.test.ts
@@ -7,7 +7,7 @@ import { generateAuthToken } from './auth';
 const request = supertest(api);
 
 describe('GET /user/name', () => {
-    test('non existant username returns', async () => {
+    test('non existent username returns', async () => {
         const response = await request.get('/v1/user/name/User3');
         expect(response.status).toEqual(404);
         expect(response.body.status).toEqual('error');