This repository contains the frontend of fe-app project, a production-grade car rental service. The project showcases modern JavaScript development practices with a focus on scalability, maintainability, and performance. It follows a loosely implemented Feature Sliced Design (FSD) architecture.
fe-app is a full-featured and production-ready car rental service, designed to showcase modern JavaScript development across the backend, frontend, and platform infrastructure. The project integrates the latest technologies, architectures, and best practices to deliver a scalable, maintainable, and high-performance solution.
It's not just a car rental service ā it serves as a comprehensive reference for modern JavaScript development, demonstrating:
The frontend follows a loosely implemented Feature Sliced Design (FSD) approach:
š¦ fe-app-web
⣠š src
ā ⣠š app # App's related code (styles, providers, routing, etc.)
ā ⣠š pages # Route-based components
ā ⣠š widgets # Self-contained chunks of functionality or UI, usually delivering an entire use case
ā ⣠š entities # Domain models and API interactions
ā ⣠š shared # Reusable UI components, utilities, helpers
ā ⣠š app.ts # App setup
ā ⣠š entry.ts # Entry point
⣠š package.json
⣠š tsconfig.json
ā š README.md
@hey-api/openapi-ts
, ensuring type safety and automatic updates when backend specifications change.The frontend establishes real-time WebSocket connections with the backend using Socket.IO. These connections powers live features such as car status, booking changes or user session sync ā without needing manual refreshes. This architecture allows low-latency communication between client and server, and is designed to scale using an Event-Driven Architecture (EDA) with the backend emitting events based on business logic triggers.
The frontend is containerized and deployed via Render.
docker build -t fe-app-web .
docker run -p 3000:3000 --env-file .env fe-app-web
pnpm install
.env
file)API_PATH=/api
API_PROXY=http://localhost:4000
API_JSON=http://localhost:4000/docs/?json=1
SOCKET_PATH=/socket
SOCKET_PROXY=ws://localhost:4000
pnpm run build:api
pnpm run dev
fe-app-web Ā© 2025 by Ramil Sharipov is licensed under CC BY-NC-ND 4.0.