Gourm’Eat is a catering business company located in France. Just before their grand opening, they needed a website to enhance their brand awareness but also to offer multiple features to their customers:
The business also required to be able to administrate their products and menus (day to day, seasonal), have a dashboard about the waiting orders and orders of the day.
The website is very similar to an e-commerce, with some very specific needs (day to day menus, seasonal menus, B2B vs B2C services, etc.).
Because of its blazing fast performance and very low overhead compared to (famous?) alternatives, the frontend was fully made using SolidJS. I used the latest version of Boostrap (and its Icons) to help me design the frontend. When it comes to frontend, my philosophy is to use as little dependencies as possible in order to have a fast website, especially on mobile devices (which turns out to be driving most of the source traffic to the website).
Here are the current dependencies of the project (part of package.json
):
{
"dependencies": {
"@popperjs/core": "^2.11.6",
"@solidjs/router": "^0.8.0",
"bootstrap": "^5.2.1",
"leaflet": "^1.9.2",
"snarkdown": "^2.0.0",
"solid-js": "^1.7.0"
}
}
@popperjs/core
is required by boostrap for some of its features (modal, toasts, etc.);@solidjs/router
is used to do the routing, clientside;bootstrap
;leaflet
is used to display maps;snarkdown
is a tiny lib to display markdown content;solid-js
.The JS bundles made using Vite are pretty good (ie. small in size), but some optimizations still need to be made (especially the loading of leaflet
on the landing page).
On the backend side, I decided to use Django because I am proficient with Python and this framework but also because I know it would be made me achieve what was a required on a timely manner. The backend handle most of the features you would expected from an e-commerce:
Django is configured to use a PostgreSQL database, which is my go-to database.
In order to optimize images’ serving, I built a little service that takes care of dynamically resize it depending of the client device screen size.
The website has been in production since November, 2022 and updated multiple times now (for basic maintenance and for the addition of new features). As Gourm’Eat is growing, some enhancements will be added in the near future.