A web application for managing game configurations built with React and .NET Core, featuring a PostgreSQL database.
- .NET 8.0 SDK
- Node.js (v14 or later)
- PostgreSQL (v13 or later)
-
Clone the repository:
-
Set up the PostgreSQL database:
- Install PostgreSQL if not already installed
- Create a new database named
rovio_configuration
- Default connection string uses:
- Host: localhost
- Database: rovio_configuration
- Username: postgres
- Password: 1
- Update these values in
appsettings.json
if needed
-
Install and build the .NET solution:
-
Apply database migrations:
cd Rovio.Configuration.Net
dotnet ef database update
- Install React dependencies:
cd ClientApp
npm install
- Start the application (this will run both the API and React app):
cd Rovio.Configuration.Net
dotnet run
The application will be available at:
- API: http://localhost:5000
- React Development Server: http://localhost:44454
# Run all tests
dotnet test
# Run specific test projects
dotnet test Rovio.Configuration.Tests
dotnet test Rovio.Configuration.Net.Tests
dotnet test Rovio.Configuration.Repositories.Tests
cd Rovio.Configuration.Net/ClientApp
npm test
- Create, read, update, and delete game configurations
- JSON configuration validation
- Search and filter configurations
- Responsive design with Material-UI
- Animated UI elements
- React (Functional Components)
- Material-UI
- React Router
- Jest & React Testing Library
- ASP.NET Core 8.0
- Entity Framework Core 8.0
- PostgreSQL
Rovio.Configuration.Net
- Main web application (React + .NET Core API)Rovio.Configuration
- Core domain models and business logicRovio.Configuration.Repositories
- Data access layer with Entity Framework CoreRovio.Configuration.Tests
- Core domain testsRovio.Configuration.Net.Tests
- Web application testsRovio.Configuration.Repositories.Tests
- Repository layer tests
- Hot reload is enabled with
CHOKIDAR_USEPOLLING=true
- The application uses SPA proxy for development
- Database migrations are handled through Entity Framework Core
- Tests are written using xUnit for backend and Jest for frontend
This project is licensed under the MIT License - see the LICENSE file for details.