Class Diagrams
This section provides visual diagrams of the NFC Access Control System architecture using both Graphviz and PlantUML.
System Architecture Overview
System Component Diagram
AccessControlSystem Class
AccessControlSystem Class Diagram
NFCReader Class
NFCReader Class Diagram
Complete System Relationships
Complete Class Relationships
State Machine
System State Machine
Card Registration Flow
Card Registration Sequence
Card Cloning Flow
Card Cloning Sequence
MIFARE Memory Layout
MIFARE Classic Memory Layout for Card Cloning
Installation and Usage
To use these diagram features in your documentation:
Prerequisites:
For Graphviz: Install Graphviz on your system
Windows: Download from https://graphviz.org/download/
Linux:
sudo apt-get install graphvizmacOS:
brew install graphviz
For PlantUML: Install Java and download PlantUML jar
Install Java JRE/JDK
Download plantuml.jar from https://plantuml.com/download
Place it in your PATH or update
conf.pywith the full path
Alternatively, you can use the PlantUML server by modifying
conf.py:plantuml = 'http://www.plantuml.com/plantuml'
Install Python dependencies:
pip install -r requirements.txt
Building the documentation:
cd docs
make html
Graphviz Syntax Example:
.. graphviz::
:caption: My Diagram
digraph MyGraph {
A -> B;
B -> C;
}
PlantUML Syntax Example:
.. uml::
:caption: My UML Diagram
@startuml
class MyClass {
+ publicMethod()
- privateMethod()
}
@enduml
See Also
API Reference - Detailed API documentation
Hardware Setup - Hardware setup and connections
Card Cloning Technology - Card cloning implementation details