{"id":21587009,"url":"https://github.com/pome1lo/bellini","last_synced_at":"2025-05-05T15:05:58.272Z","repository":{"id":269758947,"uuid":"841129989","full_name":"pome1lo/Bellini","owner":"pome1lo","description":"Welcome to Bellini — a web application (ASP.NET Core) designed to organize and manage intellectual games with integrated social network elements, offering players engaging experiences, rich statistics, and dynamic interactions. ","archived":false,"fork":false,"pushed_at":"2025-01-20T14:25:43.000Z","size":42889,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T15:32:14.047Z","etag":null,"topics":["asp-net-core","coursework","microservices","react","shadcn-ui","signalr","soa","typescript"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pome1lo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-11T18:15:44.000Z","updated_at":"2025-01-20T14:25:44.000Z","dependencies_parsed_at":"2024-12-26T00:33:44.118Z","dependency_job_id":null,"html_url":"https://github.com/pome1lo/Bellini","commit_stats":null,"previous_names":["pome1lo/bellini"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pome1lo%2FBellini","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pome1lo%2FBellini/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pome1lo%2FBellini/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pome1lo%2FBellini/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pome1lo","download_url":"https://codeload.github.com/pome1lo/Bellini/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235465064,"owners_count":18994548,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asp-net-core","coursework","microservices","react","shadcn-ui","signalr","soa","typescript"],"created_at":"2024-11-24T15:15:30.353Z","updated_at":"2025-01-24T15:41:35.323Z","avatar_url":"https://github.com/pome1lo.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🧠 **Intellectual Games Platform with Social Network Features (PSSIG)**\n\nWelcome to **PSSIG** — a web application designed to organize and manage intellectual games with integrated social network elements, offering players engaging experiences, rich statistics, and dynamic interactions. This platform provides users with the ability to create, participate in, and manage games while fostering a vibrant community through player profiles, real-time interactions, and game analytics.\n\n## 📜 **Table of Contents**\n\n- [Features](#features)\n- [Architecture](#architecture)\n- [Technologies](#technologies)\n- [Installation](#installation)\n- [Usage](#usage)\n- [API Documentation](#api-documentation)\n- [Future Plans](#future-plans)\n- [License](#license)\n\n---\n\n## 🚀 **Features**\n\n- **User Registration \u0026 Authentication**: Secure user management system with role-based access.\n- **Profile Management**: Customizable user profiles with statistics and activity tracking.\n- **Game Creation \u0026 Management**: Organize and run intellectual games, invite participants, and manage results.\n- **Real-time Statistics**: In-depth analytics of games with personalized reports and performance tracking.\n- **Social Network Features**: Comments, discussions, and interaction with other players during and after games.\n- **Game History \u0026 Leaderboards**: Track user progress and global rankings.\n- **Scalable Microservices**: Optimized for high-performance and scalable to support large numbers of users and games.\n\n---\n\n## 🏗️ **Architecture**\n\nPSSIG utilizes a **three-layer architecture** to ensure scalability, maintainability, and flexibility:\n\n1. **Data Access Layer (DAL)**:\n   - Uses Entity Framework for data modeling and MS SQL Server for persistent storage.\n   \n2. **Business Logic Layer (BLL)**:\n   - Contains core services such as game management, user profiles, statistics, and notifications.\n   - Implements caching using Redis to optimize performance.\n   \n3. **Presentation Layer**:\n   - RESTful API built with ASP.NET Core Web API.\n   - Frontend developed with **React TypeScript** and **Shadcn UI**.\n\n**API Gateway** and **nginx** handle routing and ensure secure access to the microservices.\n\n---\n\n## 💻 **Technologies**\n\n- **Backend**:\n  - ASP.NET Core Web API\n  - Entity Framework Core\n  - Redis (caching)\n  - MS SQL Server\n  - API Gateway (nginx)\n  \n- **Frontend**:\n  - React (TypeScript)\n  - Shadcn UI\n  - jQuery (for Ajax requests)\n\n- **Communication**:\n  - WebSocket (for real-time interactions)\n\n- **Tools**:\n  - Docker (for containerization)\n  - JetBrains Rider (IDE)\n  - Postman (API testing)\n\n---\n\n## 🛠️ **Installation**\n\n### Prerequisites\n- .NET 7.0 SDK\n- Node.js \u0026 npm\n- MS SQL Server\n- Docker\n\n### Steps\n\n1. **Clone the repository:**\n   ```bash\n   git clone https://github.com/your-username/pssig.git\n   ```\n\n2. **Navigate to the backend folder and install dependencies:**\n   ```bash\n   cd backend\n   dotnet restore\n   ```\n\n3. **Navigate to the frontend folder and install dependencies:**\n   ```bash\n   cd ../frontend\n   npm install\n   ```\n\n4. **Setup the database:**\n   - Configure your `appsettings.json` with the MS SQL Server connection string.\n   - Run the migrations:\n     ```bash\n     dotnet ef database update\n     ```\n\n5. **Run the backend:**\n   ```bash\n   dotnet run\n   ```\n\n6. **Run the frontend:**\n   ```bash\n   npm start\n   ```\n\n7. **Access the app:**\n   Open `http://localhost:3000` in your browser.\n\n---\n\n## 📖 **Usage**\n\n- **Admin Panel**: Manage users, games, and global settings.\n- **Player Dashboard**: View and join available games, check personal statistics, and interact with other players.\n- **Create a Game**: Organize a new game, set the rules, and invite players to participate.\n- **Leaderboard**: View global rankings and personal achievements.\n\n---\n\n## 📚 **API Documentation**\n\nAll endpoints are documented using **Swagger**, accessible at `http://localhost:5000/swagger` once the backend is running.\n\nKey API features include:\n\n- **Authentication** (`/auth`)\n- **User Profiles** (`/users`)\n- **Game Management** (`/games`)\n- **Statistics** (`/stats`)\n- **Social Interactions** (`/comments`)\n\n---\n\n## 🔮 **Future Plans**\n\n- **Mobile App**: Native mobile application for iOS and Android using Flutter.\n- **Game Variations**: Introduce new game types and genres.\n- **Advanced Analytics**: Provide deeper insights using machine learning for personalized performance recommendations.\n- **Monetization Features**: Integrate premium features for enhanced game experiences.\n\n---\n\n## 📝 **License**\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n**Thank you for using PSSIG!**\n\nHappy gaming and let the intellectual challenges begin! ✨\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpome1lo%2Fbellini","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpome1lo%2Fbellini","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpome1lo%2Fbellini/lists"}