Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/almoghindi/playeconomy
PlayEconomy is a web platform simulating economic activities, focusing on inventory management and item cataloging. Built with a microservices architecture using .NET Core, React, RabbitMQ, MongoDB, and Docker, it ensures scalability and maintainability.
https://github.com/almoghindi/playeconomy
asp-net asp-net-core-web-api bootstrap csharp docker docker-compose dotnet dotnet-core mongodb rabbitmq react
Last synced: about 1 month ago
JSON representation
PlayEconomy is a web platform simulating economic activities, focusing on inventory management and item cataloging. Built with a microservices architecture using .NET Core, React, RabbitMQ, MongoDB, and Docker, it ensures scalability and maintainability.
- Host: GitHub
- URL: https://github.com/almoghindi/playeconomy
- Owner: almoghindi
- Created: 2024-06-26T22:02:41.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-06-26T22:18:10.000Z (6 months ago)
- Last Synced: 2024-06-27T02:17:51.348Z (6 months ago)
- Topics: asp-net, asp-net-core-web-api, bootstrap, csharp, docker, docker-compose, dotnet, dotnet-core, mongodb, rabbitmq, react
- Language: C#
- Homepage:
- Size: 534 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PlayEconomy
PlayEconomy is a simulation platform designed to mimic economic activities. The platform allows for the management of inventories, cataloging items, and facilitating various economic transactions. This project leverages a microservices architecture to ensure scalability and maintainability.
## Table of Contents
1. [Technologies](#technologies)
2. [Architecture](#architecture)
3. [Getting Started](#getting-started)
4. [Project Structure](#project-structure)
5. [Configuration](#configuration)
6. [Running the Application](#running-the-application)
7. [Contributing](#contributing)
8. [License](#license)## Technologies
### Frontend
- React
- Bootstrap### Backend
- ASP.NET Core Web API
- .NET Core
- RabbitMQ (for messaging)
- MongoDB (NoSQL database)### DevOps
- Docker (for containerization)
- Docker Compose## Architecture
The project follows a microservices architecture consisting of the following services:
- **Catalog Service (Play.Catalog)**: Manages the cataloging of items.
- **Inventory Service (Play.Inventory)**: Handles inventory management.
- **Common Service (Play.Common)**: Provides shared utilities and components used across different services.
- **Frontend Service (Play.Frontend)**: React-based frontend application that interacts with the backend services.## Getting Started
### Prerequisites
- Docker
- .NET Core SDK
- Node.js
- npm (Node Package Manager)### Installation
1. Clone the repository:
```bash
git clone https://github.com/almoghindi/PlayEconomy.git
cd PlayEconomy
```
2. Set up the environment variables:
```bash
cp .env.example .env
```
3. Install frontend dependencies:
```bash
cd Play.Frontend
npm install
cd ..
```
4. Build and run the services using Docker Compose:
```bash
docker-compose up --build
```## Project Structure
```plaintext
PlayEconomy/
├── .vs/
├── Play.Catalog/
│ └── src/
├── Play.Common/
│ └── src/
├── Play.Frontend/
│ ├── public/
│ ├── src/
│ ├── .env
│ ├── .gitignore
│ ├── package.json
│ ├── package-lock.json
│ └── README.md
├── Play.Infra/
├── Play.Inventory/
│ └── src/
└── docker-compose.yml## Configuration
The configuration is managed through environment variables defined in the `.env` file. Here is an example of the configuration variables you might need to set:
```env
MONGO_URI=mongodb://mongo:27017/playeconomy
RABBITMQ_URI=amqp://rabbitmq
```
## Running the ApplicationTo start the application:
1. Ensure Docker is running.
2. Run the following command to start all services:
```bash
docker-compose up
```
3. The application should now be accessible from [http://localhost:3000](http://localhost:3000).