Skip to content
This repository has been archived by the owner on Sep 4, 2023. It is now read-only.

Commit

Permalink
Link submission query with competence profile endpoint (#79)
Browse files Browse the repository at this point in the history
* Added Professional development

* Rename namespace to correspond with coding guidelines

* Separate records into different files

* Rename Value to Name to correspond with domain

* Rename Value to Level to correspond with domain

* Add professional skills to domain

* Add short name to architectural layer and professional skills

* Rename properties in competence profile random data filler

* Rename CompetenceProfileOutcome to ProfessionalTaskOutcome

* Add Professional skill outcome to competence profile

* Use singular name

* Use id references instead of name values

* Use type keyword

* Add submissions from all courses from student to competence profile transformation

* Fix merge issues

* Add task and skill outcomes to competence profile return type

* Fetch terms from canvas

* Remove redundant imports

* Change default application url

* Prevent browser from launching on every restart

* Cleanup code

* Add filter enrolment term function

* Add terms to competence profile

* Remove unused terms function

* Added filter on professional outcomes and sorting

* Removed unused things

* V0.1

* Defining colors for elements

* Remove obsolete styling

* Update pnpm lock file

* Add Vue router

* Resolve ESLint warnings

* Add authorization view and controller

* Use controller templating for route

* A lot of stuff

* A lot of stuff

* Working

* Set it all to vue 3 supported format

* Fix import path

* Add CORS policy

* Realtime user data

* Add terms to competence profile

* Cleanup code and improve competence profile converter

* Filter on PostedAt value

---------

Co-authored-by: Tara <tarawillink@gmail.com>
Co-authored-by: Sven <svenroermond@hotmail.com>
Co-authored-by: Neal Geilen <info@nealgeilen.nl>
  • Loading branch information
4 people committed May 26, 2023
1 parent 872cf64 commit 8b717b1
Show file tree
Hide file tree
Showing 56 changed files with 4,452 additions and 177 deletions.
11 changes: 11 additions & 0 deletions Epsilon.Abstractions/Component/ICompetenceProfileConverter.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
using Epsilon.Abstractions.Model;
using Epsilon.Canvas.Abstractions.Model;
using Epsilon.Canvas.Abstractions.Model.GraphQl;
using Epsilon.Canvas.Abstractions.QueryResponse;

namespace Epsilon.Abstractions.Component;

public interface ICompetenceProfileConverter
{
public CompetenceProfile ConvertFrom(GetAllUserCoursesSubmissionOutcomes getAllUserCoursesSubmissionOutcomes, IEnumerable<EnrollmentTerm> terms);
}
3 changes: 3 additions & 0 deletions Epsilon.Abstractions/Model/Activity.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
namespace Epsilon.Abstractions.Model;

public record Activity(int Id, string Name, string? Color = null);
3 changes: 3 additions & 0 deletions Epsilon.Abstractions/Model/ArchitecturalLayer.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
namespace Epsilon.Abstractions.Model;

public record ArchitectureLayer(int Id, string Name, string ShortName, string? Color = null);
8 changes: 6 additions & 2 deletions Epsilon.Abstractions/Model/CompetenceProfile.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
using Epsilon.Canvas.Abstractions.Model;

namespace Epsilon.Abstractions.Model;

public record CompetenceProfile(
HboIDomain HboIDomain,
IEnumerable<CompetenceProfileOutcome> CompetenceProfileOutcomes
IHboIDomain HboIDomain,
IEnumerable<ProfessionalTaskResult> ProfessionalTaskOutcomes,
IEnumerable<ProfessionalSkillResult> ProfessionalSkillOutcomes,
IEnumerable<EnrollmentTerm> Terms
);
9 changes: 0 additions & 9 deletions Epsilon.Abstractions/Model/CompetenceProfileOutcome.cs

This file was deleted.

38 changes: 0 additions & 38 deletions Epsilon.Abstractions/Model/HboIDomain.cs

This file was deleted.

60 changes: 60 additions & 0 deletions Epsilon.Abstractions/Model/HboIDomain2018.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
namespace Epsilon.Abstractions.Model;

public class HboIDomain2018 : IHboIDomain
{
public static readonly ArchitectureLayer HardwareInterfacing = new(0, "Hardware Interfacing", "H", "#8D9292");
public static readonly ArchitectureLayer Infrastructure = new(1, "Infrastructure", "I", "#6EA7D4");
public static readonly ArchitectureLayer OrganisationalProcesses = new(2, "Organisational Processes", "O", "#D16557");
public static readonly ArchitectureLayer UserInteraction = new(3, "User Interaction", "U", "#E29C53");
public static readonly ArchitectureLayer Software = new(4, "Software", "S", "#96B9C0");

public static readonly Activity ManageAndControl = new(0, "Manage & Control");
public static readonly Activity Analysis = new(1, "Analysis");
public static readonly Activity Advise = new(2, "Advise");
public static readonly Activity Design = new(3, "Design");
public static readonly Activity Realisation = new(4, "Realisation");

public static readonly MasteryLevel LevelOne = new(0, 1, "#00B0F0");
public static readonly MasteryLevel LevelTwo = new(1, 2, "#00B050");
public static readonly MasteryLevel LevelThree = new(2, 3, "#FFFC00");
public static readonly MasteryLevel LevelFour = new(3, 4);

public static readonly ProfessionalSkill FutureOrientedOrganisation = new(0, "Future-Oriented Organisation", "FOO");
public static readonly ProfessionalSkill InvestigativeProblemSolving = new(1, "Investigative Problem Solving", "IPS");
public static readonly ProfessionalSkill PersonalLeadership = new(2, "Personal Leadership", "PL");
public static readonly ProfessionalSkill TargetedInteraction = new(3, "Targeted Interaction", "TI");

public IEnumerable<ArchitectureLayer> ArchitectureLayers => new[]
{
HardwareInterfacing,
Infrastructure,
OrganisationalProcesses,
UserInteraction,
Software,
};

public IEnumerable<Activity> Activities => new[]
{
ManageAndControl,
Analysis,
Advise,
Design,
Realisation,
};

public IEnumerable<ProfessionalSkill> ProfessionalSkills => new[]
{
FutureOrientedOrganisation,
InvestigativeProblemSolving,
PersonalLeadership,
TargetedInteraction,
};

public IEnumerable<MasteryLevel> MasteryLevels => new[]
{
LevelOne,
LevelTwo,
LevelThree,
LevelFour,
};
}
9 changes: 9 additions & 0 deletions Epsilon.Abstractions/Model/IHboIDomain.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
namespace Epsilon.Abstractions.Model;

public interface IHboIDomain
{
IEnumerable<ArchitectureLayer> ArchitectureLayers { get; }
IEnumerable<Activity> Activities { get; }
IEnumerable<ProfessionalSkill> ProfessionalSkills { get; }
IEnumerable<MasteryLevel> MasteryLevels { get; }
}
3 changes: 3 additions & 0 deletions Epsilon.Abstractions/Model/MasteryLevel.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
namespace Epsilon.Abstractions.Model;

public record MasteryLevel(int Id, int Level, string? Color = null);
8 changes: 8 additions & 0 deletions Epsilon.Abstractions/Model/ProfessionalSkill.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
namespace Epsilon.Abstractions.Model;

public record ProfessionalSkill(
int Id,
string Name,
string ShortName,
string? Color = null
);
6 changes: 6 additions & 0 deletions Epsilon.Abstractions/Model/ProfessionalSkillLevel.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
namespace Epsilon.Abstractions.Model;

public record ProfessionalSkillLevel(
int Skill,
int MasteryLevel
);
8 changes: 8 additions & 0 deletions Epsilon.Abstractions/Model/ProfessionalSkillResult.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
namespace Epsilon.Abstractions.Model;

public record ProfessionalSkillResult(
int Skill,
int MasteryLevel,
double Grade,
DateTime AssessedAt
);
7 changes: 7 additions & 0 deletions Epsilon.Abstractions/Model/ProfessionalTask.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace Epsilon.Abstractions.Model;

public record ProfessionalTask(
int Layer,
int Activity,
int MasteryLevel
);
9 changes: 9 additions & 0 deletions Epsilon.Abstractions/Model/ProfessionalTaskResult.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
namespace Epsilon.Abstractions.Model;

public record ProfessionalTaskResult(
int ArchitectureLayer,
int Activity,
int MasteryLevel,
double Grade,
DateTime AssessedAt
);
9 changes: 9 additions & 0 deletions Epsilon.Canvas.Abstractions/Model/EnrollmentTerm.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;

namespace Epsilon.Canvas.Abstractions.Model;

public record EnrollmentTerm(
[property: JsonPropertyName("name")] string Name,
[property: JsonPropertyName("start_at")] DateTime? StartAt,
[property: JsonPropertyName("end_at")] DateTime? EndAt
);
8 changes: 8 additions & 0 deletions Epsilon.Canvas.Abstractions/Model/EnrollmentTermCollection.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
using System.Collections;
using System.Text.Json.Serialization;

namespace Epsilon.Canvas.Abstractions.Model;

public record EnrollmentTermCollection(
[property: JsonPropertyName("enrollment_terms")] IEnumerable<EnrollmentTerm> Terms
);
7 changes: 0 additions & 7 deletions Epsilon.Canvas.Abstractions/Model/GraphQL/Outcome.cs

This file was deleted.

This file was deleted.

7 changes: 0 additions & 7 deletions Epsilon.Canvas.Abstractions/Model/GraphQL/User.cs

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
using System.Text.Json.Serialization;

namespace Epsilon.Canvas.Abstractions.Model.GraphQL;
namespace Epsilon.Canvas.Abstractions.Model.GraphQl;

public record AssessmentRating(
[property: JsonPropertyName("points")] double? Points,
[property: JsonPropertyName("points")] double? Points,
[property: JsonPropertyName("outcome")] Outcome? Outcome
);
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
using System.Text.Json.Serialization;

namespace Epsilon.Canvas.Abstractions.Model.GraphQL;
namespace Epsilon.Canvas.Abstractions.Model.GraphQl;

public record Assignment(
[property: JsonPropertyName("name")] string Name,
[property: JsonPropertyName("name")] string? Name,
[property: JsonPropertyName("modules")] List<Module>? Modules
);
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
using System.Text.Json.Serialization;

namespace Epsilon.Canvas.Abstractions.Model.GraphQL;
namespace Epsilon.Canvas.Abstractions.Model.GraphQl;

public record Course(
[property: JsonPropertyName("name")] string Name,
[property: JsonPropertyName("name")] string? Name,
[property: JsonPropertyName("submissionsConnection")] SubmissionsConnection? SubmissionsConnection
);
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;

namespace Epsilon.Canvas.Abstractions.Model.GraphQL;
namespace Epsilon.Canvas.Abstractions.Model.GraphQl;

public record Module(
[property: JsonPropertyName("name")] string Name
Expand Down
9 changes: 9 additions & 0 deletions Epsilon.Canvas.Abstractions/Model/GraphQl/Outcome.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
using System.Text.Json.Serialization;

namespace Epsilon.Canvas.Abstractions.Model.GraphQl;

public record Outcome(
[property: JsonPropertyName("_id")] int Id,
[property: JsonPropertyName("title")] string? Title,
[property: JsonPropertyName("masteryPoints")] double? MasteryPoints
);
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;

namespace Epsilon.Canvas.Abstractions.Model.GraphQL;
namespace Epsilon.Canvas.Abstractions.Model.GraphQl;

public record RubricAssessmentNode(
[property: JsonPropertyName("assessmentRatings")] List<AssessmentRating>? AssessmentRatings,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;

namespace Epsilon.Canvas.Abstractions.Model.GraphQL;
namespace Epsilon.Canvas.Abstractions.Model.GraphQl;

public record RubricAssessmentsConnection(
[property: JsonPropertyName("nodes")] List<RubricAssessmentNode>? Nodes
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
using System.Text.Json.Serialization;

namespace Epsilon.Canvas.Abstractions.Model.GraphQl;

public record SubmissionsConnection(
[property: JsonPropertyName("nodes")] List<SubmissionsConnectionNode>? Nodes
);
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
using System.Text.Json.Serialization;

namespace Epsilon.Canvas.Abstractions.Model.GraphQL;
namespace Epsilon.Canvas.Abstractions.Model.GraphQl;

public record Node(
public record SubmissionsConnectionNode(
[property: JsonPropertyName("updatedAt")] DateTime? UpdatedAt,
[property: JsonPropertyName("postedAt")] DateTime? PostedAt,
[property: JsonPropertyName("assignment")] Assignment? Assignment,
[property: JsonPropertyName("rubricAssessmentsConnection")] RubricAssessmentsConnection? RubricAssessmentsConnection
);
7 changes: 7 additions & 0 deletions Epsilon.Canvas.Abstractions/Model/GraphQl/User.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
using System.Text.Json.Serialization;

namespace Epsilon.Canvas.Abstractions.Model.GraphQl;

public record User(
[property: JsonPropertyName("name")] string? Name
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
using Epsilon.Canvas.Abstractions.Model.GraphQl;

namespace Epsilon.Canvas.Abstractions.QueryResponse;

public record GetAllUserCoursesSubmissionOutcomes(
[property: JsonPropertyName("data")] GetAllUserCoursesSubmissionOutcomes.CourseData? Data
)
{
public record CourseData(
[property: JsonPropertyName("allCourses")] List<Course>? Courses
);
};
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
using System.Text.Json.Serialization;
using Epsilon.Canvas.Abstractions.Model.GraphQL;
using Epsilon.Canvas.Abstractions.Model.GraphQl;

namespace Epsilon.Canvas.Abstractions.QueryResponse;

public record GetUserSubmissionOutcomes(
[property: JsonPropertyName("data")] GetUserSubmissionOutcomes.CourseData? Data
public record GetUserCourseSubmissionOutcomes(
[property: JsonPropertyName("data")] GetUserCourseSubmissionOutcomes.CourseData? Data
)
{
public record CourseData(
Expand Down
Loading

0 comments on commit 8b717b1

Please sign in to comment.