From 96fe18bfa329f448b15f5259099006f5f7c3fad2 Mon Sep 17 00:00:00 2001 From: Mehrdad Shirvani Date: Fri, 18 Jul 2025 13:38:29 +0330 Subject: [PATCH] Update index --- index.md | 119 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 74 insertions(+), 45 deletions(-) diff --git a/index.md b/index.md index 91f9055..9f9abce 100644 --- a/index.md +++ b/index.md @@ -1,6 +1,6 @@ -# **πŸ¦β€πŸ”₯Order of the Phoenix β€” Website Development** +# **πŸ¦β€πŸ”₯ Order of the Phoenix β€” Website Development** -## **About the Project** +## **πŸ“Œ About the Project** This repository contains documents, resources, and projects created during the **first phase of the Order of the Phoenix initiative** β€” a self-organized learning movement started by a group of computer science students. @@ -8,72 +8,101 @@ What began as an effort to escape a passive academic environment evolved into a The goal wasn’t just to learn a technology; it was to foster **self-driven learning, teamwork, and real-world problem-solving**. ---- -## **Section 1 β€” Introductory Sessions** -The first part of the program focused on equipping everyone with fundamental web development skills. +## **πŸ“š Introductory Sessions** -### **Roadmap of What We Learned** -1. **Web Fundamentals** β€” HTTP, REST, and the client-server model -2. **MVC (Model-View-Controller)** β€” basics of application structuring -3. **Web API Development** β€” designing and consuming APIs -4. **ASP.NET Core Basics** β€” setting up and building modern backends +The first part of the program focused on equipping everyone with fundamental web development **and solid software architecture principles**. -These sessions ensured that all participants, regardless of prior experience, could contribute to a real-world project. +### **πŸ—ΊοΈ Roadmap of What We Learned** ---- +1. **🌐 Web Fundamentals** β€” HTTP, REST, and the client-server model +2. **🧩 MVC (Model-View-Controller)** β€” basics of application structuring +3. **βš™οΈ Web API Development** β€” designing and consuming APIs +4. **πŸš€ ASP.NET Core Basics** β€” setting up and building modern backends +5. **πŸ› οΈ Dependency Injection (DI)** β€” + - Why DI is crucial for **maintainability & testability** + - Understanding ASP.NET Core service lifetimes (Transient, Scoped, Singleton) +6. **πŸ—οΈ Design Patterns** β€” + - **Repository Pattern** for data abstraction + - **Unit of Work** for transaction management + - **Factory & Builder** for complex object creation +7. **πŸ›οΈ Clean Architecture Fundamentals** β€” + - Separating **Domain, Application, and Infrastructure** layers + - Designing business rules independent of frameworks -## **Section 2 β€” Project-Based Sessions** +These sessions ensured that all participants, regardless of prior experience, could contribute to a real-world, **well-architected project**. + + + +## **πŸ’» Project-Based Sessions** Once the fundamentals were solid, we moved to building a **real project**. -### **Planning Phase** -- Selected the project collaboratively (**Transportation Management System**) -- Designed a detailed **ERD (Entity Relationship Diagram)** -- Wrote **full documentation** to standardize the development process -### **Implementation Phase** +### **πŸ“ Planning Phase** -Each member implemented their **own version** of the project, applying Clean Architecture principles and experimenting with different approaches. +- βœ… Selected the project collaboratively (**Transportation Management System**) +- βœ… Designed a detailed **ERD (Entity Relationship Diagram)**, identifying entities, aggregates, and relationships +- βœ… Wrote **full documentation** β€” requirements, use cases, and architecture diagrams -### **Project Overview** +### **πŸ”¨ Implementation Phase** -#### **Backend β€” Transportation Management API** -- **Tech Stack**: ASP.NET Core, Entity Framework Core -- **Architecture**: Clean Architecture for modularity, testability, and maintainability -- **Features**: Manage travelers, routes, tickets, and vehicle operations +Each member implemented their **own version** of the project, following Clean Architecture guidelines while experimenting with different approaches. -#### **Frontend β€” Transportation Management Web App** + + +### **🚦 Project Overview** + +#### **πŸ”— Backend β€” Transportation Management API** + +A **Clean Architecture-based** backend designed to be **modular, testable, and scalable**. + +**Key Highlights:** + +- **Domain Layer** πŸ›οΈ + - Defined **entities** + - Applied **domain rules** to ensure data consistency +- **Application Layer** βš™οΈ + - Contained **service classes** (e.g., `TicketOrderService`, `AccountService`) that orchestrated business logic. + - Services handled **validation, entity manipulation, and coordination between repositories**. + - Mapped DTOs to entities for input/output separation. +- **Infrastructure Layer** πŸ—„οΈ + - Implemented **Repository & Unit of Work patterns** using Entity Framework Core. + - Database interactions abstracted behind interfaces. +- **Presentation Layer** 🌐 + - ASP.NET Core RESTful Web API + +βœ… **Why Clean Architecture?** +- Clear **dependency direction** (outer layers depend only on inner ones). +- Easier testing (business logic independent of frameworks). +- High **maintainability and scalability**. + +#### **🎨 Frontend β€” Transportation Management Web App** - **Tech Stack**: React, TypeScript, Zustand, Axios, Tailwind CSS -- **Focus**: Clean, scalable architecture and user-friendly experience +- **Focus**: A simple but modern UI to consume the API and simulate real-world use cases ---- -## **Projects by Members** +## **πŸ‘₯ 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) | -| **[Member 2 Name] [@GitHub](https://chatgpt.com/c/687a15ad-ab40-8010-8a9d-283c227b7bc3#)** | [Backend API](https://chatgpt.com/c/687a15ad-ab40-8010-8a9d-283c227b7bc3#) β€’ [Frontend Web App](https://chatgpt.com/c/687a15ad-ab40-8010-8a9d-283c227b7bc3#) | -| **[Member 3 Name] [@GitHub](https://chatgpt.com/c/687a15ad-ab40-8010-8a9d-283c227b7bc3#)** | [Backend API](https://chatgpt.com/c/687a15ad-ab40-8010-8a9d-283c227b7bc3#) β€’ [Frontend Web App](https://chatgpt.com/c/687a15ad-ab40-8010-8a9d-283c227b7bc3#) | +| **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) | +| **[Member 2 Name] [πŸ™ GitHub](https://chatgpt.com/c/687a15ad-ab40-8010-8a9d-283c227b7bc3#)** | [Backend API](https://chatgpt.com/c/687a15ad-ab40-8010-8a9d-283c227b7bc3#) β€’ [Frontend Web App](https://chatgpt.com/c/687a15ad-ab40-8010-8a9d-283c227b7bc3#) | +| **[Member 3 Name] [πŸ™ GitHub](https://chatgpt.com/c/687a15ad-ab40-8010-8a9d-283c227b7bc3#)** | [Backend API](https://chatgpt.com/c/687a15ad-ab40-8010-8a9d-283c227b7bc3#) β€’ [Frontend Web App](https://chatgpt.com/c/687a15ad-ab40-8010-8a9d-283c227b7bc3#) | ---- - -## **Acknowledgements** +## **πŸ™ Acknowledgements** A heartfelt thanks to: - **All members** who dedicated their time and energy, despite busy schedules - **The core team** who stayed committed through challenges -- Everyone who believed in creating a culture of **self-driven learning** ---- -## **Aspirations for the Project** +- Everyone who believed in creating a culture of **self-driven, high-quality software development** -This is just the beginning. Our goals moving forward include: +## **πŸš€ Aspirations for the Project** -- **Publishing all documents and projects publicly** for others to learn from -- Expanding into **more advanced technologies** (cloud, microservices, distributed systems) -- Building a **community-driven tradition** of collaboration, growth, and solving real problems +This is just the beginning. Our future goals: -_"May this small spark inspire greater movements."_ +- **Publishing all documents and ERDs publicly** for others to learn from +- Growing this into a **community-driven tradition** of collaboration and solving real problems + +_"πŸ”₯ May this small spark inspire greater movements."_ ----