Skip to content

A self-organized learning initiative by computer science students β€” from mastering web development fundamentals to building a Clean Architecture-based Transportation Management System inspired by Booking.com. Focused on self-driven learning, teamwork, and real-world problem-solving.

License

Notifications You must be signed in to change notification settings

TheOrderOfPhoenix/ASP.NET

Repository files navigation

πŸ¦β€πŸ”₯ 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.

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
  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.

Session Notes
00 [[Session00 Architecture]]
01 [[Session01 Additional Info]]
[[Session01 Backend]]
02 [[Session02 Additional Info]]
[[Session02 Backend]]
03 [[Session03 Additional Info]]
[[Session03 Backend]]
04 [[Session04 Additional Info]]
[[Session04 Backend]]
05 [[Session05 Additional Info]]
[[Session05 Backend]]
[[Session05 Frontend]]
06 [[Session06 Additional Info]]
[[Session06 Frontend]]
07 [[Session07 Additional Info]]
[[Session07 Backend]]
[[Session07 Frontend]]
08 [[Session08 Backend]]
[[Session08 Frontend]]
09 [[Session09 Additional Info]]
[[Session09 Backend]]
[[Session09 Frontend]]
10 [[Docker – Overview]]

πŸ“ 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.

πŸ”— 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

A modern, component-driven frontend built with React + TypeScript, designed with a focus on clarity, modularity, and maintainability.

  • State Management 🧩
    • Managed predictably using Zustand, organized into well-defined slices for clear separation of concerns.
    • Promotes ease of composition and scalability as the app grows.
  • API Communication πŸ”—
    • All HTTP requests routed through a centralized Axios instance.
    • Handles global error interception, authentication headers, and response transformations consistently.
  • UI Components 🎨
    • Built with TailwindCSS using a modular, reusable component approach.
    • Encourages visual consistency and speeds up UI development.
  • Routing & Navigation πŸ—ΊοΈ
    • React Router DOM for nested and dynamic routing.
    • Clear and scalable navigation flow for multi-step processes (e.g., ticket reservation).
  • Data Flow πŸ”„
    • Strict unidirectional data flow, making interactions between components, state, and services predictable and easy to debug.
  • User Experience ✨
    • A simple but modern UI optimized for clarity and responsiveness, simulating real-world use cases with a clean architecture mindset.

πŸ‘₯ Projects by Members

Member Projects
Mehrdad Shirvani πŸ™ GitHub Backend API β€’ Frontend Web App
Ali Taherzadeh πŸ™ GitHub Backend API β€’ Frontend Web App
Amin Ghoorchian πŸ™ GitHub Backend API β€’ Frontend Web App

πŸ™ 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."

About

A self-organized learning initiative by computer science students β€” from mastering web development fundamentals to building a Clean Architecture-based Transportation Management System inspired by Booking.com. Focused on self-driven learning, teamwork, and real-world problem-solving.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •