Compare commits

..
10 Commits
Author SHA1 Message Date
MehrdadShirvani 294688bee3 Update index title
Build & Deploy Site / build-and-deploy (push) Has been cancelled
2025-08-02 19:13:38 +03:30
MehrdadShirvani ae4da6077b update index 2025-07-18 15:28:00 +03:30
MehrdadShirvani efeb10e93a Update index and readme 2025-07-18 15:19:12 +03:30
MehrdadShirvani 01ad7871c6 refactor: remove the problematic emojis 2025-07-18 15:02:09 +03:30
MehrdadShirvani c9a9cad17d add workflow 2025-07-18 14:52:14 +03:30
MehrdadShirvani ca675c1a3d Add Deployment 2025-07-18 14:47:22 +03:30
MehrdadShirvani 7f3e11ebc4 add gitignore 2025-07-18 14:44:56 +03:30
MehrdadShirvani d5c3069e88 update index 2025-07-18 14:10:56 +03:30
MehrdadShirvani d1dbee5bfa update index 2025-07-18 14:08:09 +03:30
AminandGitHub 8969f0b59c Update Session09 Frontend.md
formatted documentation
2025-07-18 14:02:15 +03:30
1535 changed files with 32327 additions and 136 deletions
+1
View File
@@ -0,0 +1 @@
* text=auto eol=lf
+37
View File
@@ -0,0 +1,37 @@
name: Build & Deploy Site
on:
push:
branches: [main]
permissions:
contents: write
jobs:
build-and-deploy:
runs-on: ubuntu-latest
defaults:
run:
working-directory: .
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
- name: Install dependencies
run: npm ci
- name: Build Quartz
run: npx quartz build
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: public
+11
View File
@@ -0,0 +1,11 @@
.DS_Store
.gitignore
node_modules
public
prof
tsconfig.tsbuildinfo
.obsidian
.quartz-cache
private/
.replit
replit.nix
+1
View File
@@ -0,0 +1 @@
v22.16.0
+1
View File
@@ -0,0 +1 @@
engine-strict=true
+3
View File
@@ -0,0 +1,3 @@
public
node_modules
.quartz-cache
+7
View File
@@ -0,0 +1,7 @@
{
"printWidth": 100,
"quoteProps": "as-needed",
"trailingComma": "all",
"tabWidth": 2,
"semi": false
}
@@ -1,111 +0,0 @@
# Reservation System Development Guide
This guide helps developers understand how to implement, update, and maintain the ticket reservation system. It summarizes changes from commits and provides step-by-step actions, grouped by feature area.
https://github.com/MehrdadShirvani/AlibabaClone-Frontend/commits/develop/
---
# Fixes and Missing Things from Session 08
## Authentication & Protected Routes
- [ ] Store `showLoginModal` state in `authStore` and adjust navbar
- [ ] Add `ProtectedRoute` component
- [ ] Adjust main `App` to route authenticated pages through protection layer
- [ ] Add session persistence in `authStore` to store token more persistently
---
## Profile and User Info Enhancements
- [ ] Fix and align `birthDate` types in `PersonDto`, `transportationSearchResult`, and `ListOfTravelers`
## Agent
- [ ] Add `topUpDto` and its method in `agent.ts`
- [ ] Add optional config parameter to `request()` in `agent.ts`
# Branching
- [ ] Create the feature/themes branch based on develop
# 🎨 Theming and UI Styling
- [ ] Install and import `preline`
- [ ] Add theme colors and global styles (index.css)
- [ ] Add `ThemeSwitcher` and integrate it into the navbar
- [ ] If you decide to do this part after implementing pages, make sure to add theme support to the following components:
- [ ] `transportationCard`, `transportationSearchForm`, `ReviewAndConfirm`
- [ ] All modals: `LoginModal`, `RegisterModal`, `SelectFromPeopleModal`
- [ ] Profile section: `ProfilePage`, `ProfileSummary`, `PersonalInformation`, `AccountInfo`, `PersonalAccountInfo`, `BankAccountDetails`, `MyTravels`, `MyTransactions`, `ListOfTravelers`
- [ ] Reservation views and components
# Merge
- [ ] Create a PR and merge the current branch with develop
---
# Branching
- [ ] Create the feature/ticket-reservation branch based on develop
# Backend Agent Methods
- [ ] Add `createTicketOrderDto` and `createTravelerTicketDto`
- [ ] Add `transportationSeatDto`
- [ ] Add related methods in `TicketOrder` and add it to agent
# Reservation Process & Step Management
- [ ] Implement `useReservationStore` using `zustand` to manage reservation state
- [ ] Create step-based routing using `ReservationLayout`
- [ ] Add routing for reservation steps in `App.tsx`
- [ ] Add `StepIndicator` component to show step progress visually
- [ ] Add `stepGuard` logic to prevent accessing future steps prematurely
- [ ] Add logic to skip back only if previous steps are completed
- [ ] Create `TravelerForm` to gather passenger info, with the possibility to load data from the related people of the account.
- [ ] Create `TravelerDetailsForm` to gather passengers info with `TravelerForm` integration
- [ ] Create `ReviewAndConfirm` page to review selections
- [ ] Create `PaymentForm` for transaction process
- [ ] Create `TicketIssued` page for confirmation
- [ ] Add validation to show error if `seatId` is missing
---
# Seat Selection
- [ ] Add DTO:
```tsx
export interface transportationSeatDto{
    id : number,
    vehicleId : number,
    row : number,
    column : number,
    isVIP : boolean,
    isAvailable : boolean,
    description : string | null,
    isReserved : boolean,
    genderId : number | null
}
```
- [ ] Add `getSeats()` method to `agent.ts`
- [ ] Add `SeatGridSelector` component for graphical seat layout in `TravelerDetailForm` and integrate it with traveler list, only for Buses
- [ ] Modify `transportationCard` to integrate with seat selection
- [ ] Add `SeatOnlyGridSeatMap` for simpler seat-only display
---
# Coupon Integration
- [ ] Add `couponValidationRequestDto` and `discountDto`
- [ ] Add `validateCoupon()` method to `agent.ts`
- [ ] Update `useReservationStore` to include `couponCode`
- [ ] Ensure `createTicketOrderDto` uses `couponCode` instead of `couponId`
- [ ] Connect coupon validation flow in `ReviewAndConfirm`
---
# Search, Filter, and Sort Functionality
- [ ] Add filters (company) and sorting (time or price) UI to `SearchResultPage`
- [ ] Add company logo support in result cards and filters
- [ ] Add `previous/next day` buttons for time navigation
- [ ] Add remaining capacity check to transportation cards
- [ ] Add refund policy info display
- [ ] Implement showing seat map in `TransportaionCard` using `ReadOnlySeatMap`
## 📎 Notes
- Ensure you run a full theme test after UI changes.
- Test step transitions with various invalid scenarios.
- Confirm persistent session and coupon behavior across refreshes.
- Validate all filters, sort, and search navigation works.
- Test seat selection and proper rendering of rotated layouts.
---
# Merge
- [ ] Create a PR and merge the current branch with develop
-16
View File
@@ -1,16 +0,0 @@
theOrderOfThePhoenix/
├── 01-Introductory-Sessions/
│ ├── 01-Basics-of-a-Webpage
│ │ ├── notes
│ │ ├── sample-projects
│ ├── 02-...
│ └── ...
├── 02-Project-Based-Sessions/
│ ├── 01-Repository-Pattern/
│ │ ├── backend.md
│ │ ├── frontend.md
│ │ └── notes.md
│ ├── 02-...
│ └── ...
├── Assets
└── References.md
+35 -5
View File
@@ -14,6 +14,18 @@ The goal wasnt just to learn a technology; it was to foster **self-driven lea
The first part of the program focused on equipping everyone with fundamental web development **and solid software architecture principles**.
| Session | Notes |
| ------- | ------------------- |
| 00 | [[Session00 Notes]] |
| 01 | [[Session01 Notes]] |
| 02 | [[Session02 Notes]] |
| 03 | [[Session03 Notes]] |
| 04 | [[Session04 Notes]] |
| 05 | [[Session05 Notes]] |
| 06 | [[Session06 Notes]] |
| 07 | [[Session07 Notes]] |
### **🗺️ Roadmap of What We Learned**
1. **🌐 Web Fundamentals** — HTTP, REST, and the client-server model
@@ -39,6 +51,22 @@ These sessions ensured that all participants, regardless of prior experience, co
Once the fundamentals were solid, we moved to building a **real project**.
| Session | Notes |
| ------- | -------------------------------------------------------------------------------- |
| 00 | [[Session00 Architecture]] |
| 01 | [[Session01 Additional Info]]<br>[[Session01 Backend]] |
| 02 | [[Session02 Additional Info]]<br>[[Session02 Backend]] |
| 03 | [[Session03 Additional Info]]<br>[[Session03 Backend]] |
| 04 | [[Session04 Additional Info]]<br>[[Session04 Backend]] |
| 05 | [[Session05 Additional Info]]<br>[[Session05 Backend]]<br>[[Session05 Frontend]] |
| 06 | [[Session06 Additional Info]]<br>[[Session06 Frontend]] |
| 07 | [[Session07 Additional Info]]<br>[[Session07 Backend]]<br>[[Session07 Frontend]] |
| 08 | [[Session08 Backend]]<br>[[Session08 Frontend]] |
| 09 | [[Session09 Additional Info]]<br>[[Session09 Backend]]<br>[[Session09 Frontend]] |
| 10 | [[Docker Overview]] |
### **📝 Planning Phase**
- ✅ Selected the project collaboratively (**Transportation Management System**)
@@ -98,11 +126,11 @@ A **modern, component-driven frontend** built with **React + TypeScript**, desig
## **👥 Projects by Members**
| **Member** | **Projects** |
| -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Mehrdad Shirvani [🐙 GitHub](https://github.com/MehrdadShirvani)** | [Backend API](https://github.com/MehrdadShirvani/AlibabaClone-Backend) • [Frontend Web App](https://github.com/mehrdadShirvani/AlibabaClone-Frontend) |
| **Ali Taherzadeh [🐙 GitHub](https://github.com/AliThz)** | [Backend API](https://github.com/alithz/AlibabaClone-Backend) • [Frontend Web App](https://github.com/alithz/AlibabaClone-Frontend) |
| **Amin Ghoorchian [🐙 GitHub](https://github.com/AminGh05)** | [Backend API](https://github.com/AminGh05/Alibaba-Clone-Backend) • [Frontend Web App](https://github.com/AminGh05/Alibaba-Clone-Frontend) |
| **Member** | **Projects** |
| -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Mehrdad Shirvani [🐙 GitHub](https://github.com/MehrdadShirvani)** | [Backend API](https://github.com/MehrdadShirvani/AlibabaClone-Backend) • [Frontend Web App](https://github.com/mehrdadShirvani/AlibabaClone-Frontend) |
| **Ali Taherzadeh [🐙 GitHub](https://github.com/AliThz)** | [Backend API](https://github.com/alithz/AlibabaClone-Backend) • [Frontend Web App](https://github.com/alithz/AlibabaClone-Frontend) |
| **Amin Ghoorchian [🐙 GitHub](https://github.com/AminGh05)** | [Backend API](https://github.com/AminGh05/Alibaba-Clone-Backend) • [Frontend Web App](https://github.com/AminGh05/Alibaba-Clone-Frontend) |
## **🙏 Acknowledgements**
@@ -120,3 +148,5 @@ This is just the beginning. Our future goals:
_"🔥 May this small spark inspire greater movements."_

Before

Width:  |  Height:  |  Size: 719 KiB

After

Width:  |  Height:  |  Size: 719 KiB

Before

Width:  |  Height:  |  Size: 6.4 MiB

After

Width:  |  Height:  |  Size: 6.4 MiB

Before

Width:  |  Height:  |  Size: 2.6 MiB

After

Width:  |  Height:  |  Size: 2.6 MiB

Some files were not shown because too many files have changed in this diff Show More