This website is powered by NextJS, and Firebase Hosting and Functions.
Fun fact: you can drag elements from the home page around.
- /src
- /components: All the website's components
- /reusable: Components meant to be reusable in any context, i.e. dark mode button, modal, etc.
- /sections: Components representing sections of the website
- /data_frontend: Static data injected into the markup, mainly text
- /pages: NextJS pages folder, the entry point of the website
- /index.tsx: NextJS's entry point, the page that is displayed when the user loads the website
- /_document.tsx: Custom NextJS document, used to inject the header, and Google fonts
- /_app.tsx: Custom NextJS app, used to inject the page title, and theme provider
- /public: Static files, e.g. SVG icons, my resume, etc.
- /styles: Global stylesheets
- /assets: Images. I do not use /public for images, because next/image facilitates blurry placeholders with images imported as code.
- /utils: Utility functions: variants for framer motion, custom hooks, etc.
- /components: All the website's components
/design contains the website's initial design, in the form of SVG files. I have diverged from it quite a lot, but I keep them as archive.
-
/firebaseFunctions.js: The Firebase function that delivers the website. It is the only way I found to get the website to work with Firebase. The main drawback is that Firebase functions have quite a hight latency when they have not been invoked in a while.
-
/.github/workflows/firebase-functions-merge.yml contains the Github action used for updating the website, every time a pull request is merged into master
You can reach me at [email protected] or +33 6 51 77 14 97