@@ -103,3 +103,69 @@ The application requires persistent storage for:
103103- Camera snapshots and images
104104
105105Mount a volume to ` /app/config/ ` to persist data between container restarts.
106+
107+ ## 🛠️ Development
108+
109+ ### Prerequisites
110+ - [ .NET 9 SDK] ( https://dotnet.microsoft.com/download/dotnet/9.0 )
111+ - [ Node.js 24+] ( https://nodejs.org/ ) and npm
112+ - [ Angular CLI] ( https://angular.io/cli ) : ` npm install -g @angular/cli `
113+
114+ ### Getting Started
115+
116+ #### Backend (ASP.NET Core)
117+ 1 . Navigate to the server project directory:
118+ ``` cmd
119+ cd OpenAlprWebhookProcessor.Server
120+ ```
121+
122+ 2 . Restore dependencies:
123+ ``` cmd
124+ dotnet restore
125+ ```
126+
127+ 3 . Start the backend server:
128+ ``` cmd
129+ dotnet run
130+ ```
131+
132+ The backend will start at ` https://localhost:5001 `
133+
134+ #### Frontend (Angular)
135+ 1 . Navigate to the client project directory:
136+ ``` cmd
137+ cd openalprwebhookprocessor.client
138+ ```
139+
140+ 2 . Install dependencies:
141+ ``` cmd
142+ npm install
143+ ```
144+
145+ 3 . Start the development server:
146+ ``` cmd
147+ npm start
148+ ```
149+
150+ The frontend will start at ` https://localhost:4200 ` and automatically proxy API requests to the backend.
151+
152+ ### Running Both Together
153+ For the best development experience, run both the backend and frontend simultaneously:
154+
155+ 1 . ** Terminal 1** - Start the backend:
156+ ``` cmd
157+ cd OpenAlprWebhookProcessor.Server
158+ dotnet run
159+ ```
160+
161+ 2 . ** Terminal 2** - Start the frontend:
162+ ``` cmd
163+ cd openalprwebhookprocessor.client
164+ npm start
165+ ```
166+
167+ 3 . Open your browser to ` https://localhost:4200 `
168+
169+ ### Running Tests
170+ - ** Backend Tests** : ` dotnet test ` (from the solution root)
171+ - ** Frontend Tests** : ` npm test ` (from the client directory)
0 commit comments