Skip to content

Commit

Permalink
First working version (somehow)
Browse files Browse the repository at this point in the history
  • Loading branch information
ch4mpy committed Oct 7, 2023
1 parent 8a16cf3 commit de2aa68
Show file tree
Hide file tree
Showing 59 changed files with 5,708 additions and 1,996 deletions.
10 changes: 8 additions & 2 deletions angular-ui/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# AngularUi
# C4 - Quiz

This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.0.0.
A simple app around multiple choices questionnaires.

Instructors can define quizzes and trainees have those tests.

No account is required to answer a quiz (and see expected answers), but trainees must be identified to submit their result to the author of the quiz. Only the last submission of each trainee is stored.

An "instructor" account is required to create a quiz. Instructors may edit the quizzes they authored and see all the submitted answers.

## Development server

Expand Down
3,875 changes: 2,425 additions & 1,450 deletions angular-ui/package-lock.json

Large diffs are not rendered by default.

5 changes: 4 additions & 1 deletion angular-ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,19 @@
"@angular/core": "^16.0.0",
"@angular/forms": "^16.0.0",
"@angular/material": "^16.1.5",
"@angular/material-moment-adapter": "^16.2.6",
"@angular/platform-browser": "^16.0.0",
"@angular/platform-browser-dynamic": "^16.0.0",
"@angular/router": "^16.0.0",
"@capacitor/cli": "^5.3.0",
"@capacitor/core": "^5.3.0",
"rxjs": "~7.8.0",
"tslib": "^2.3.0",
"zone.js": "~0.13.0"
},
"devDependencies": {
"@angular-devkit/build-angular": "^16.0.6",
"@angular/cli": "~16.0.0",
"@angular/cli": "^16.2.0",
"@angular/compiler-cli": "^16.0.0",
"@openapitools/openapi-generator-cli": "^2.6.0",
"@types/jasmine": "~4.3.0",
Expand Down
3 changes: 0 additions & 3 deletions angular-ui/projects/c4-soft/bff-api/.openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,10 @@ api.module.ts
api/api.ts
api/bFF.service.ts
api/bFF.serviceInterface.ts
api/backChannelLogoutController.service.ts
api/backChannelLogoutController.serviceInterface.ts
configuration.ts
encoder.ts
index.ts
model/loginOptionDto.ts
model/models.ts
model/userInfoDto.ts
param.ts
variables.ts
10 changes: 6 additions & 4 deletions angular-ui/projects/c4-soft/quiz-api/.openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,23 @@ api/quizzes.service.ts
api/quizzes.serviceInterface.ts
api/skillTest.service.ts
api/skillTest.serviceInterface.ts
api/users.service.ts
api/users.serviceInterface.ts
configuration.ts
encoder.ts
index.ts
model/choice.ts
model/choiceDto.ts
model/choiceUpdateDto.ts
model/models.ts
model/question.ts
model/questionDto.ts
model/questionUpdateDto.ts
model/quiz.ts
model/quizDto.ts
model/quizRejectionDto.ts
model/quizUpdateDto.ts
model/skillTestDto.ts
model/skillTestQuestionDto.ts
model/skillTestResultDto.ts
model/skillTestResultDetailsDto.ts
model/skillTestResultPreviewDto.ts
model/userInfoDto.ts
param.ts
variables.ts
12 changes: 11 additions & 1 deletion angular-ui/projects/quiz/src/app/app-routing.module.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { QuizSelectionPage } from './quiz-selection.page';
import { QuizDetailsPage } from './quiz-details.page';
import { SkillTestSelectionPage } from './skill-test-selection.page';
import { SkillTestDetailsPage } from './skill-test-details.page';

const routes: Routes = [];
export const routes: Routes = [
{ path: 'quizzes', component: QuizSelectionPage },
{ path: 'quizzes/:quizId', component: QuizDetailsPage },
{ path: 'tests', component: SkillTestSelectionPage },
{ path: 'tests/:quizId/:traineeName', component: SkillTestDetailsPage },
{ path: '**', redirectTo: '/quizzes' }
];

@NgModule({
imports: [RouterModule.forRoot(routes)],
Expand Down
2 changes: 1 addition & 1 deletion angular-ui/projects/quiz/src/app/app.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Component } from '@angular/core';

@Component({
selector: 'app-root',
template: `<app-toolbar></app-toolbar>`,
template: `<router-outlet></router-outlet>`,
styles: [],
})
export class AppComponent {
Expand Down
80 changes: 76 additions & 4 deletions angular-ui/projects/quiz/src/app/app.module.ts
Original file line number Diff line number Diff line change
@@ -1,27 +1,62 @@
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { DragDropModule } from '@angular/cdk/drag-drop';
import { MatButtonModule } from '@angular/material/button';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatDatepickerModule } from '@angular/material/datepicker';
import { MatDialogModule } from '@angular/material/dialog';
import { MatExpansionModule } from '@angular/material/expansion';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatIconModule } from '@angular/material/icon';
import { MatInputModule } from '@angular/material/input';
import { MatListModule } from '@angular/material/list';
import { MatMenuModule } from '@angular/material/menu';
import { MatProgressBarModule } from '@angular/material/progress-bar';
import { MatToolbarModule } from '@angular/material/toolbar';
import { MatTooltipModule } from '@angular/material/tooltip';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppRoutingModule } from './app-routing.module';
import { AppRoutingModule, routes } from './app-routing.module';
import { AppComponent } from './app.component';

import {
MAT_MOMENT_DATE_FORMATS,
MomentDateAdapter,
} from '@angular/material-moment-adapter';
import {
Configuration as BffApiConfiguration,
ConfigurationParameters as BffApiConfigurationParameters,
ApiModule as BffApiModule,
} from '@c4-soft/bff-api';

import { HttpClientModule } from '@angular/common/http';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { MatMomentDateModule } from '@angular/material-moment-adapter';
import {
DateAdapter,
MAT_DATE_FORMATS,
MAT_DATE_LOCALE,
} from '@angular/material/core';
import { MatSelectModule } from '@angular/material/select';
import { provideRouter, withComponentInputBinding } from '@angular/router';
import {
Configuration as QuizApiConfiguration,
ConfigurationParameters as QuizApiConfigurationParameters,
ApiModule as QuizApiModule,
} from '@c4-soft/quiz-api';
import { ChoiceItemComponent } from './choice-item.component';
import { ConfirmationDialog } from './confirmation.dialog';
import { ErrorDialog } from './error.dialog';
import { QuestionCreationDialog } from './question-creation.dialog';
import { QuestionExpansionPannelComponent } from './question-expansion-pannel.component';
import { QuizCreationDialog } from './quiz-creation.dialog';
import { QuizDetailsPage } from './quiz-details.page';
import { QuizRejectionDialog } from './quiz-rejection.dialog';
import { QuizSelectionPage } from './quiz-selection.page';
import { SkillTestDetailsPage } from './skill-test-details.page';
import { SkillTestSelectionPage } from './skill-test-selection.page';
import { ToolbarComponent } from './toolbar.component';
import { SkillTestResultDialog } from './skill-test-result.dialog';

export function bffApiConfigFactory(): BffApiConfiguration {
const params: BffApiConfigurationParameters = {
Expand All @@ -32,26 +67,63 @@ export function bffApiConfigFactory(): BffApiConfiguration {

export function quizApiConfigFactory(): QuizApiConfiguration {
const params: QuizApiConfigurationParameters = {
basePath: '/bff/quizzes/v1/',
basePath: '/bff/v1',
};
return new QuizApiConfiguration(params);
}

@NgModule({
declarations: [AppComponent, ToolbarComponent],
declarations: [
AppComponent,
ToolbarComponent,
QuizSelectionPage,
QuizCreationDialog,
ErrorDialog,
QuizDetailsPage,
QuestionCreationDialog,
ChoiceItemComponent,
QuestionExpansionPannelComponent,
ConfirmationDialog,
QuizRejectionDialog,
SkillTestSelectionPage,
SkillTestDetailsPage,
SkillTestResultDialog,
],
imports: [
BrowserModule,
FormsModule,
ReactiveFormsModule,
HttpClientModule,
AppRoutingModule,
BrowserAnimationsModule,
BffApiModule.forRoot(bffApiConfigFactory),
QuizApiModule.forRoot(quizApiConfigFactory),
DragDropModule,
MatButtonModule,
MatCheckboxModule,
MatDatepickerModule,
MatDialogModule,
MatExpansionModule,
MatFormFieldModule,
MatIconModule,
MatInputModule,
MatListModule,
MatMenuModule,
MatMomentDateModule,
MatProgressBarModule,
MatSelectModule,
MatToolbarModule,
MatTooltipModule,
],
providers: [
provideRouter(routes, withComponentInputBinding()),
{
provide: DateAdapter,
useClass: MomentDateAdapter,
deps: [MAT_DATE_LOCALE],
},
{ provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS },
],
providers: [],
bootstrap: [AppComponent],
})
export class AppModule {}
Loading

0 comments on commit de2aa68

Please sign in to comment.