diff --git a/htaccess/.htaccess b/htaccess/.htaccess new file mode 100644 index 0000000..22c0eb2 --- /dev/null +++ b/htaccess/.htaccess @@ -0,0 +1,10 @@ + + RewriteEngine On + RewriteCond %{SERVER_PORT} !=443 + RewriteRule ^(.*)$ https://www.raffiskender.com/$1 [R=301,L] + RewriteBase / + RewriteRule ^index\.html$ - [L] + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d + RewriteRule . /index.html [L] + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 1cb0801..fddadc0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "dependencies": { "@fortawesome/fontawesome-svg-core": "^6.4.0", "@fortawesome/free-regular-svg-icons": "^6.4.0", + "@fortawesome/free-solid-svg-icons": "^6.4.0", "@fortawesome/vue-fontawesome": "^3.0.3", "axios": "^1.4.0", "core-js": "^3.8.3", @@ -1744,6 +1745,18 @@ "node": ">=6" } }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.4.0.tgz", + "integrity": "sha512-kutPeRGWm8V5dltFP1zGjQOEAzaLZj4StdQhWVZnfGFCvAPVvHh8qk5bRrU4KXnRRRNni5tKQI9PBAdI6MP8nQ==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.4.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/@fortawesome/vue-fontawesome": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.3.tgz", diff --git a/package.json b/package.json index 93ba919..8cfded0 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "dependencies": { "@fortawesome/fontawesome-svg-core": "^6.4.0", "@fortawesome/free-regular-svg-icons": "^6.4.0", + "@fortawesome/free-solid-svg-icons": "^6.4.0", "@fortawesome/vue-fontawesome": "^3.0.3", "axios": "^1.4.0", "core-js": "^3.8.3", diff --git a/public/icons8-info-16.png b/public/icons8-info-16.png deleted file mode 100644 index c208013..0000000 Binary files a/public/icons8-info-16.png and /dev/null differ diff --git a/public/image.ico b/public/image.ico new file mode 100644 index 0000000..874c411 Binary files /dev/null and b/public/image.ico differ diff --git a/public/index.html b/public/index.html index 9a71aa6..2bece10 100644 --- a/public/index.html +++ b/public/index.html @@ -4,7 +4,7 @@ - +
Please full up the form to keep in touch !
Please full up the form to keep in touch!
@@ -156,7 +156,7 @@ const onSubmit = () => { \ No newline at end of file diff --git a/src/views/Projects.vue b/src/views/Projects.vue index 27a77af..79438d2 100644 --- a/src/views/Projects.vue +++ b/src/views/Projects.vue @@ -1,29 +1,213 @@ - + + - - - Projects + + projects - - - here are some projects I made. - And bla and bla and bla + + + + + + + {{ item.name }} + + + + + + + + + + Watch a presentation of this (awesome) project... But in the French language + + The project + + + "Poils O'Pattes" is a grooming salon management project undertaken with a team of 5 people over a duration of one month. I had the pleasure of contributing to it as a backend coder and scrum master... + + + + Here you can see the main page (Oh! there is a connection system!) + + + + Here you can see the page to fix an appointement to the salon + + + + Services page + + + + + + The front-end was created by an awesome crew of 3 girls: Laura Pécheux, Xénia Onescu, and Mélodie Yamashita. They built it using React, and they gaves it a really girly, catchy and vibrant design I really do appreciate. + + + But I didn't worked too much on the front, I worked hard on... + + The back-end + I have been working with Hocine Rehab to design and code the back-end. Being two wasn't too much! This back-end controls: + + Users (their animals, their appointments, their status as stakeholders, clients, or admins). + Animals (their owners, breeds, and weights). + Appointments (which user with which stakeholder at what time and for which animal). + The services provided by the salon. + The products available in the salon. + + And we had one month to achieve and make it operational, stable, and efficient. + I won't describe every single detail (CPT, Taxonomies, Roles, Capabilities, ACL, or Custom Tables) because it would be too long. However, let me talk about the part I preferred: The schedule management. + + Please note the following: + + Past appointments are grayed out and cannot be modified. + Only one appointment can be modified at a time. The others are grayed out when one of them is being modified (as in the current case). + The dynamically generated dates are in French. + Some appointments are called "orphans." This is because when making an appointment on the front-end, they are not assigned. By clicking "honor this appointment," the groomer assigns it to themselves. It is then visible only to them (and the client on the front-end). + We have the ability to modify an appointment. + As a result, unavailable time slots are grayed out and cannot be selected. In the example above, 2 slots are taken on September 30th. If the date is changed, the time slots for the selected day automatically appear, and the unavailable time slots are grayed out. This mechanism is implemented using a JS-written API request. + The client select box is populated using a WordPress function, but... + The dog select box is automatically filled by fetching the client's dogs via the API for the currently selected client. + + One more detail: Everything you see has been programmed in vanilla JavaScript, vanilla CSS, HTML, and PHP (with WordPress functions). I hope you like it, as it has been quite challenging for us. + + + + + A presentation of this (finally useful) project... is to be watched soon + + + The project + + The project "shopping list" began when I was bored, thinking of what I could code. A teacher used to tell us "make little projects, like a list or a calculator...". So I thought, "Okay, let's create a shopping list for my wife that can also be used by my mom." + + + Finally, I am the one who uses it... But not as a shopping list: as a to-do list, and even more, as multiple to-do lists / reminders. + + + + + You have to create an account, or you can use your own Google account. + + + + Here are tabs you can name whatever you want, with lists inside. + + + + Profile page. + + + + + + The front-end + + The front-end was created in Vue. It incorporates a store, services to communicate with the backend (which happens often), a router, and plugins to sanitize the text, among other things. + + + The back-end + The back-end manages: + + User management (with or without the Google sign-in API) + User's lists (encrypted json in a custom table) + Password reinitialization with custom tokens + Email sending for email verification + + In fact, this small application has all the features of a big one! + + + + + That's a little project I made to keep my daughter occupied (but it worked only 2 weeks...). All pictures are fetched randomly from the Lorem Picsum free image bank (more details on my codepen for this part). + + Please note that this project will not work on mobile devices + See this project + + - + + \ No newline at end of file diff --git a/src/views/Projects1.vue b/src/views/Projects1.vue new file mode 100644 index 0000000..97f3891 --- /dev/null +++ b/src/views/Projects1.vue @@ -0,0 +1,130 @@ + + + + + + + + Projects + + + + + 〈 + + + Poils O Pattes + Poils O Pattes + + + + + 〉 + + + + + A grooming salon management project undertaken with a team of 5 people over a duration of one month. I had the pleasure of contributing to it as a backend coder and scrum master... + + + + + + + + \ No newline at end of file diff --git a/src/views/Technologies.vue b/src/views/Technologies.vue index af60487..385af22 100644 --- a/src/views/Technologies.vue +++ b/src/views/Technologies.vue @@ -33,7 +33,7 @@ const showWordpressUnderList=ref(false) Vue2 / Vue3 Option api / Composition api Nuxt - Vuetify 💚 + Vuetify 💚 Worpress Custom plugins Custom themes @@ -48,7 +48,7 @@ const showWordpressUnderList=ref(false)
- - here are some projects I made.
And bla and bla and bla
Watch a presentation of this (awesome) project... But in the French language
+ + "Poils O'Pattes" is a grooming salon management project undertaken with a team of 5 people over a duration of one month. I had the pleasure of contributing to it as a backend coder and scrum master... +
Here you can see the main page (Oh! there is a connection system!)
Here you can see the page to fix an appointement to the salon
Services page
+ The front-end was created by an awesome crew of 3 girls: Laura Pécheux, Xénia Onescu, and Mélodie Yamashita. They built it using React, and they gaves it a really girly, catchy and vibrant design I really do appreciate. +
+ But I didn't worked too much on the front, I worked hard on... +
I have been working with Hocine Rehab to design and code the back-end. Being two wasn't too much! This back-end controls:
And we had one month to achieve and make it operational, stable, and efficient.
I won't describe every single detail (CPT, Taxonomies, Roles, Capabilities, ACL, or Custom Tables) because it would be too long. However, let me talk about the part I preferred: The schedule management.
Please note the following:
One more detail: Everything you see has been programmed in vanilla JavaScript, vanilla CSS, HTML, and PHP (with WordPress functions). I hope you like it, as it has been quite challenging for us.
A presentation of this (finally useful) project... is to be watched soon
+ The project "shopping list" began when I was bored, thinking of what I could code. A teacher used to tell us "make little projects, like a list or a calculator...". So I thought, "Okay, let's create a shopping list for my wife that can also be used by my mom." +
+ Finally, I am the one who uses it... But not as a shopping list: as a to-do list, and even more, as multiple to-do lists / reminders. +
You have to create an account, or you can use your own Google account.
Here are tabs you can name whatever you want, with lists inside.
Profile page.
+ The front-end was created in Vue. It incorporates a store, services to communicate with the backend (which happens often), a router, and plugins to sanitize the text, among other things. +
The back-end manages:
In fact, this small application has all the features of a big one!
+ That's a little project I made to keep my daughter occupied (but it worked only 2 weeks...). All pictures are fetched randomly from the Lorem Picsum free image bank (more details on my codepen for this part). +
Please note that this project will not work on mobile devices
See this project
+ A grooming salon management project undertaken with a team of 5 people over a duration of one month. I had the pleasure of contributing to it as a backend coder and scrum master... +