This is a personal website to showcase my resume, my missions and my projects. There is also a contact form to get in touch.
This project is a monorepo, it uses Turborepo to handle it.
This website serves as a portfolio to highlight my professional work and achievements. It includes:
- A homepage with some funny quotes.
- A resume section with my professional experiences, courses & certifications.
- A missions section.
- A projects section.
- A contact form to get in touch.
- Yarn 4.9.1 (Package Manager)
- Node.js 22.15.0
- ESLint: Linting for JavaScript and React.
- Prettier: Code formatting.
- Tailwind CSS IntelliSense: Autocompletion for Tailwind CSS.
/.github # GitHub workflows
/.husky # Pre-commit hooks
/.yarn # Yarn releases
/apps
├── /web # Personal website project
│ ├── /public # Static images
│ └── /src
│ ├── /app # Routing
│ ├── /assets # SVG icons
│ ├── /components # Reusable components
│ ├── /constants # Variables
│ ├── /hooks # Custom hooks
│ ├── /styles # Globals CSS
│ ├── /types # Globals types
│ └── /utils # Utils functions
/packages
├── /eslint-config # Shared ESLint config
├── /make-coverage-badges # Coverage badges script
│ └── /src # Globals types
│ ├── /constants # Variables
│ ├── /types # Globals types
│ └── /utils # Utils functions
├── /transactional # Transactional emails
│ ├── /common # Reusable components
│ ├── /constants # Variables
│ ├── /emails # Emails components
│ └── /types # Globals types
└── /typescript-config # Shared TSConfig
- Clone the repository:
git clone https://github.com/Dorianspeed/website.git
cd website- Install dependencies:
yarn install-
Create
.env.localfile in/apps/webrespecting the.env.example -
Start the development server:
yarn dev- Open your browser and navigate to
http://localhost:3000(website) orhttp://localhost:3001(transactional emails).
NB: Use filter to start specific project.
# Start website project
yarn dev --filter=web
# Start transactional project
yarn dev --filter=@website/transactionalThis project use vitest for unit tests.
To run the tests, use the following command:
yarn testTo run the tests in watch mode, use:
yarn test:watchTo run the tests coverage, use:
yarn test:coverageTo run the tests for a specific package, use:
# Test website project
yarn test --filter=web
# Test make-coverage-badges project
yarn test --filter=@website/make-coverage-badges
# Test transactional project
yarn test --filter=@website/transactional@website/make-coverage-badges
| Statements | Branches | Functions | Lines |
|---|---|---|---|
@website/transactional
| Statements | Branches | Functions | Lines |
|---|---|---|---|
web
| Statements | Branches | Functions | Lines |
|---|---|---|---|
To build project, use:
yarn buildTo check for circular dependencies, use:
yarn circular-depsTo lint project, use:
yarn lintTo generate coverage badges directly in README.md (automated process in GitHub Actions):
yarn make-coverage-badgesTo start project in production mode (do not forget to yarn build and create a .env.production file before running this script), use:
yarn prodTo check if dependencies are synchronized, use:
yarn sync-depsTo check for unused dependencies, use:
yarn unused-depsTo check for unused exports and files, use:
yarn unused-exports-and-filesContributions are welcome! To contribute:
- Create a new branch for your feature or bug fix:
git checkout -b FEATURE/branch-name- Make your changes and commit them (respecting the conventionnal commit)
git commit -m "feat: add new feature"- Push your branch:
git push origin FEATURE/branch-name- Open a pull request to the main repository
Please ensure your code follows the project's coding standards and includes appropriate tests where necessary.