# **πŸ¦β€πŸ”₯ Order of the Phoenix β€” Website Development** ## **πŸ“Œ 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. What began as an effort to escape a passive academic environment evolved into a **collaborative learning experiment** β€” building a solid foundation in modern web development and culminating in the development of a **Transportation Management System** inspired by platforms like **Booking.com** and **Alibaba.ir**. The goal wasn’t just to learn a technology; it was to foster **self-driven learning, teamwork, and real-world problem-solving**. ## **πŸ“š Introductory Sessions** The first part of the program focused on equipping everyone with fundamental web development **and solid software architecture principles**. ### **πŸ—ΊοΈ 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 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)**, identifying entities, aggregates, and relationships - βœ… Wrote **full documentation** β€” requirements, use cases, and architecture diagrams ### **πŸ”¨ Implementation Phase** Each member implemented their **own version** of the project, following Clean Architecture guidelines while experimenting with different approaches. ### **🚦 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**: A simple but modern UI to consume the API and simulate real-world use cases ## **πŸ‘₯ 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#) | ## **πŸ™ 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, high-quality software development** ## **πŸš€ Aspirations for the Project** This is just the beginning. Our future goals: - **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."_