Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor/layout #176

Merged
merged 3 commits into from
May 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,6 @@ jobs:
- run: npx nx run-many --target=test --parallel=3 --code-coverage
- run: yarn merge-lcov

- name: Code Coverage
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage/lcov.info

- name: Code Coverage
uses: paambaati/[email protected]
env:
Expand Down
3 changes: 2 additions & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{
"singleQuote": true
"singleQuote": true,
"plugins": ["prettier-plugin-tailwindcss"]
}
4 changes: 3 additions & 1 deletion apps/portfolio/src/app/app.config.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import { ApplicationConfig } from '@angular/core';
import { provideAnimations } from '@angular/platform-browser/animations';
import { provideRouter } from '@angular/router';

import { appRoutes } from './app.routes';

export const appConfig: ApplicationConfig = {
providers: [provideRouter(appRoutes)],
providers: [provideAnimations(), provideRouter(appRoutes)],
};
15 changes: 15 additions & 0 deletions apps/portfolio/src/app/app.routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,23 @@ export const appRoutes: Route[] = [
children: [
{
path: '',
loadComponent: () =>
import('@valerymelou/pages/home').then((c) => c.HomeComponent),
data: { animation: 'HomePage' },
},
{
path: 'about',
loadComponent: () =>
import('@valerymelou/pages/about').then((c) => c.AboutComponent),
data: { animation: 'AboutPage' },
},
{
path: 'projects',
loadComponent: () =>
import('@valerymelou/pages/projects').then(
(c) => c.ProjectsComponent
),
data: { animation: 'ProjectsPage' },
},
],
},
Expand Down
3 changes: 2 additions & 1 deletion apps/portfolio/src/styles.scss

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion libs/pages/about/project.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "about",
"name": "pages-about",
"$schema": "../../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "libs/pages/about/src",
"prefix": "app",
Expand Down
98 changes: 87 additions & 11 deletions libs/pages/about/src/lib/about.component.html
Original file line number Diff line number Diff line change
@@ -1,17 +1,93 @@
<div class="flex flex-col flex-1 justify-center">
<div class="container max-w-3xl space-y-10">
<div class="my-20 grid grid-cols-12 md:gap-10">
<div
class="col-span-12 flex flex-col flex-wrap space-y-4 whitespace-normal md:col-span-7"
>
<h1
class="md:text-6xl text-5xl leading-[3rem] font-bold dark:text-white text-black"
class="mb-5 text-2xl font-bold leading-[3rem] text-black md:text-4xl dark:text-white"
>
Hey, I'm Valery Melou
Hi again! It's Valery!
</h1>
<h2 class="text-2xl leading-10">
I'm a web developer from Yaounde, Cameroon.<br />
I build beautiful, interactive and accessible experiences for the web and
the mobile.
</h2>
<div>
<a href="/work" ui-flat-button color="accent" large>Check my work</a>
<p>
My developer journey started in 2012-2013 with a book from
<a
href="https://openclassrooms.com/"
target="_blank"
rel="noopener"
class="hover:text-accent-base font-medium transition-all duration-300 ease-in-out dark:text-white"
>OpenClassroom</a
>
(then called, <strong class="italic">Le Site du Zéro</strong>). The
assignment was simple: build a website using PHP, HTML and CSS. But for
me, it sparked a fascination with the possibilities of the web. I spent
countless hours tinkering, learning code like a secret language, and
reveling in the satisfaction of seeing my creations come to life.
</p>
<p>
Fast forward to today, and that early spark has ignited a full-fledged
career. I've worn many hats - a freelancer tackling diverse projects, a
team leader guiding developers, and most recently, a Director of
Operations at
<a
href="https://mboadigital.tech"
target="_blank"
rel="noopener"
class="hover:text-accent-base font-medium transition-all duration-300 ease-in-out dark:text-white"
>MBOA DIGITAL</a
>, ensuring the delivery of software projects in time and within budget.
</p>
<p>
I'm now specialized into web development. Building RESTfull APIs with
<a
href="https://www.djangoproject.com/"
target="_blank"
rel="noopener"
class="hover:text-accent-base font-medium transition-all duration-300 ease-in-out dark:text-white"
>Django</a
>
and
<a
href="https://www.python.org/"
target="_blank"
rel="noopener"
class="hover:text-accent-base font-medium transition-all duration-300 ease-in-out dark:text-white"
>Python</a
>
then, consuming those APIs with
<a
href="https://angular.dev/"
target="_blank"
rel="noopener"
class="hover:text-accent-base font-medium transition-all duration-300 ease-in-out dark:text-white"
>Angular</a
>
and
<a
href="https://www.typescriptlang.org/"
target="_blank"
rel="noopener"
class="hover:text-accent-base font-medium transition-all duration-300 ease-in-out dark:text-white"
>Typescript</a
>. I also have a strong focus on
<a
href="https://www.w3.org/WAI/fundamentals/accessibility-intro/"
target="_blank"
rel="noopener"
class="hover:text-accent-base font-medium transition-all duration-300 ease-in-out dark:text-white"
>accessibility</a
>
when building web components because I believe the web should be
accessible to everyone, even the impaired.
</p>
</div>
<div class="order-first col-span-12 md:order-last md:col-span-5">
<div class="relative">
<img
src="/assets/images/valerymelou.jpg"
alt="Valery Melou"
class="mb-5 -rotate-3 rounded-lg"
height="390"
width="390"
/>
</div>
</div>
</div>
4 changes: 1 addition & 3 deletions libs/pages/about/src/lib/about.component.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ButtonComponent } from '@valerymelou/shared/ui';

@Component({
selector: 'app-about',
standalone: true,
imports: [CommonModule, ButtonComponent],
imports: [CommonModule],
templateUrl: './about.component.html',
styles: ':host {display: flex; flex-direction: column; flex: 1;}',
})
export class AboutComponent {}
36 changes: 36 additions & 0 deletions libs/pages/home/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"extends": ["../../../.eslintrc.json"],
"ignorePatterns": ["!**/*"],
"overrides": [
{
"files": ["*.ts"],
"extends": [
"plugin:@nx/angular",
"plugin:@angular-eslint/template/process-inline-templates"
],
"rules": {
"@angular-eslint/directive-selector": [
"error",
{
"type": "attribute",
"prefix": "app",
"style": "camelCase"
}
],
"@angular-eslint/component-selector": [
"error",
{
"type": "element",
"prefix": "app",
"style": "kebab-case"
}
]
}
},
{
"files": ["*.html"],
"extends": ["plugin:@nx/angular-template"],
"rules": {}
}
]
}
7 changes: 7 additions & 0 deletions libs/pages/home/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# home

This library was generated with [Nx](https://nx.dev).

## Running unit tests

Run `nx test home` to execute the unit tests.
22 changes: 22 additions & 0 deletions libs/pages/home/jest.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/* eslint-disable */
export default {
displayName: 'home',
preset: '../../../jest.preset.js',
setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
coverageDirectory: '../../../coverage/libs/pages/home',
transform: {
'^.+\\.(ts|mjs|js|html)$': [
'jest-preset-angular',
{
tsconfig: '<rootDir>/tsconfig.spec.json',
stringifyContentPathRegex: '\\.(html|svg)$',
},
],
},
transformIgnorePatterns: ['node_modules/(?!.*\\.mjs$)'],
snapshotSerializers: [
'jest-preset-angular/build/serializers/no-ng-attributes',
'jest-preset-angular/build/serializers/ng-snapshot',
'jest-preset-angular/build/serializers/html-comment',
],
};
20 changes: 20 additions & 0 deletions libs/pages/home/project.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"name": "pages-home",
"$schema": "../../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "libs/pages/home/src",
"prefix": "app",
"projectType": "library",
"tags": [],
"targets": {
"test": {
"executor": "@nx/jest:jest",
"outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
"options": {
"jestConfig": "libs/pages/home/jest.config.ts"
}
},
"lint": {
"executor": "@nx/eslint:lint"
}
}
}
1 change: 1 addition & 0 deletions libs/pages/home/src/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './lib/home.component';
15 changes: 15 additions & 0 deletions libs/pages/home/src/lib/home.component.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<div class="flex flex-1 flex-col justify-center">
<div class="container max-w-3xl space-y-10">
<h1 class="text-3xl font-bold text-black md:text-6xl dark:text-white">
Hey, I'm Valery Melou!
</h1>
<h2 class="text-xl leading-10 md:text-2xl">
I'm a web developer from Yaounde, Cameroon.<br />
I build beautiful, interactive and accessible experiences for web and
mobile.
</h2>
<div>
<a href="/work" ui-flat-button color="accent" large>Check my work</a>
</div>
</div>
</div>
21 changes: 21 additions & 0 deletions libs/pages/home/src/lib/home.component.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { HomeComponent } from './home.component';

describe('AboutComponent', () => {
let component: HomeComponent;
let fixture: ComponentFixture<HomeComponent>;

beforeEach(async () => {
await TestBed.configureTestingModule({
imports: [HomeComponent],
}).compileComponents();

fixture = TestBed.createComponent(HomeComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});

it('should create', () => {
expect(component).toBeTruthy();
});
});
12 changes: 12 additions & 0 deletions libs/pages/home/src/lib/home.component.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ButtonComponent } from '@valerymelou/shared/ui';

@Component({
selector: 'app-home',
standalone: true,
imports: [CommonModule, ButtonComponent],
templateUrl: './home.component.html',
styles: ':host {display: flex; flex-direction: column; flex: 1;}',
})
export class HomeComponent {}
8 changes: 8 additions & 0 deletions libs/pages/home/src/test-setup.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// @ts-expect-error https://thymikee.github.io/jest-preset-angular/docs/getting-started/test-environment
globalThis.ngJest = {
testEnvironmentOptions: {
errorOnUnknownElements: true,
errorOnUnknownProperties: true,
},
};
import 'jest-preset-angular/setup-jest';
29 changes: 29 additions & 0 deletions libs/pages/home/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"compilerOptions": {
"target": "es2022",
"useDefineForClassFields": false,
"forceConsistentCasingInFileNames": true,
"strict": true,
"noImplicitOverride": true,
"noPropertyAccessFromIndexSignature": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true
},
"files": [],
"include": [],
"references": [
{
"path": "./tsconfig.lib.json"
},
{
"path": "./tsconfig.spec.json"
}
],
"extends": "../../../tsconfig.base.json",
"angularCompilerOptions": {
"enableI18nLegacyMessageIdFormat": false,
"strictInjectionParameters": true,
"strictInputAccessModifiers": true,
"strictTemplates": true
}
}
17 changes: 17 additions & 0 deletions libs/pages/home/tsconfig.lib.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../../dist/out-tsc",
"declaration": true,
"declarationMap": true,
"inlineSources": true,
"types": []
},
"exclude": [
"src/**/*.spec.ts",
"src/test-setup.ts",
"jest.config.ts",
"src/**/*.test.ts"
],
"include": ["src/**/*.ts"]
}
16 changes: 16 additions & 0 deletions libs/pages/home/tsconfig.spec.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../../dist/out-tsc",
"module": "commonjs",
"target": "es2016",
"types": ["jest", "node"]
},
"files": ["src/test-setup.ts"],
"include": [
"jest.config.ts",
"src/**/*.test.ts",
"src/**/*.spec.ts",
"src/**/*.d.ts"
]
}
Loading
Loading