Skip to content

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.

Notifications You must be signed in to change notification settings

pome1lo/Bellini

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 Intellectual Games Platform with Social Network Features (PSSIG)

Welcome 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.

📜 Table of Contents


🚀 Features

  • User Registration & Authentication: Secure user management system with role-based access.
  • Profile Management: Customizable user profiles with statistics and activity tracking.
  • Game Creation & Management: Organize and run intellectual games, invite participants, and manage results.
  • Real-time Statistics: In-depth analytics of games with personalized reports and performance tracking.
  • Social Network Features: Comments, discussions, and interaction with other players during and after games.
  • Game History & Leaderboards: Track user progress and global rankings.
  • Scalable Microservices: Optimized for high-performance and scalable to support large numbers of users and games.

🏗️ Architecture

PSSIG utilizes a three-layer architecture to ensure scalability, maintainability, and flexibility:

  1. Data Access Layer (DAL):

    • Uses Entity Framework for data modeling and MS SQL Server for persistent storage.
  2. Business Logic Layer (BLL):

    • Contains core services such as game management, user profiles, statistics, and notifications.
    • Implements caching using Redis to optimize performance.
  3. Presentation Layer:

    • RESTful API built with ASP.NET Core Web API.
    • Frontend developed with React TypeScript and Shadcn UI.

API Gateway and nginx handle routing and ensure secure access to the microservices.


💻 Technologies

  • Backend:

    • ASP.NET Core Web API
    • Entity Framework Core
    • Redis (caching)
    • MS SQL Server
    • API Gateway (nginx)
  • Frontend:

    • React (TypeScript)
    • Shadcn UI
    • jQuery (for Ajax requests)
  • Communication:

    • WebSocket (for real-time interactions)
  • Tools:

    • Docker (for containerization)
    • JetBrains Rider (IDE)
    • Postman (API testing)

🛠️ Installation

Prerequisites

  • .NET 7.0 SDK
  • Node.js & npm
  • MS SQL Server
  • Docker

Steps

  1. Clone the repository:

    git clone https://github.com/your-username/pssig.git
  2. Navigate to the backend folder and install dependencies:

    cd backend
    dotnet restore
  3. Navigate to the frontend folder and install dependencies:

    cd ../frontend
    npm install
  4. Setup the database:

    • Configure your appsettings.json with the MS SQL Server connection string.
    • Run the migrations:
      dotnet ef database update
  5. Run the backend:

    dotnet run
  6. Run the frontend:

    npm start
  7. Access the app: Open http://localhost:3000 in your browser.


📖 Usage

  • Admin Panel: Manage users, games, and global settings.
  • Player Dashboard: View and join available games, check personal statistics, and interact with other players.
  • Create a Game: Organize a new game, set the rules, and invite players to participate.
  • Leaderboard: View global rankings and personal achievements.

📚 API Documentation

All endpoints are documented using Swagger, accessible at http://localhost:5000/swagger once the backend is running.

Key API features include:

  • Authentication (/auth)
  • User Profiles (/users)
  • Game Management (/games)
  • Statistics (/stats)
  • Social Interactions (/comments)

🔮 Future Plans

  • Mobile App: Native mobile application for iOS and Android using Flutter.
  • Game Variations: Introduce new game types and genres.
  • Advanced Analytics: Provide deeper insights using machine learning for personalized performance recommendations.
  • Monetization Features: Integrate premium features for enhanced game experiences.

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.


Thank you for using PSSIG!

Happy gaming and let the intellectual challenges begin! ✨

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published