JST --:--:--
arrow_back My Work
03 Restaurant Chain Website

Taj

A full-stack bilingual website for Taj, an Indian restaurant chain operating three locations across Japan: Okinawa, Nikko, and Kawaguchiko. Customers can browse menus, book tables, and order takeout. Restaurant staff use a dedicated admin panel to manage menu items and gallery images. 日本の3拠点(沖縄・日光・河口湖)で展開するインドレストランチェーン、Tajのフルスタック2言語ウェブサイトです。お客様はメニューの閲覧・テーブル予約・テイクアウト注文が可能。レストランスタッフは専用管理パネルでメニューアイテムとギャラリー画像を管理できます。

Visit Live Site arrow_outward
Taj website homepage

Stack

Backend
Python 3 Flask SQLAlchemy SQLite
Frontend
JavaScript Jinja2 HTML5 CSS3
Integrations
SMTP / Gmail Pillow
i18n
English Japanese Session-based Language
Infrastructure
Nginx SSL / HTTPS Git LFS

Architecture

language

Bilingual Experience

Every page is fully translated into both English and Japanese. A session-based language switcher lets users toggle at any point in their visit, with the preference persisting as they move across pages.

photo_library

Admin-managed Gallery

Restaurant staff upload and delete gallery photos from a password-protected admin panel. Each change is automatically committed and pushed to Git LFS, keeping images version-controlled without any manual git work.

mail

Reservation & Contact Forms

Both individual diners and travel agencies can submit reservations through dedicated forms. Submissions are validated server-side and delivered via Gmail SMTP, with honeypot fields blocking bot spam.

Highlights

translate

Bilingual (EN / JP)

Full content in both English and Japanese, toggled via a session cookie. Every page, every string is localised without a third-party i18n library.

restaurant

Three Restaurant Pages

Okinawa, Nikko, and Kawaguchiko each have their own page with unique menus, galleries, hours, and contact info, all powered by one shared template.

calendar_today

Reservation System

Separate reservation flows for individuals and travel agencies, each collecting the right fields and delivering a structured summary via SMTP email.

devices

Mobile-First Responsive

Designed for phones first. The layout adapts cleanly from 320px mobile screens through to wide-format desktop, with a sliding mobile nav.