Code Monkey home page Code Monkey logo

games-platform-site's Introduction

Games-Platform-Site

Overview

Games-Platform-Site is a web application designed for managing players and their activities in an online game. This platform serves as a central hub for game administrators to interact with player data, monitor activities, and maintain player profiles. Full Spring MVC CRUD app

Technology Stack

Frontend

  • HTML
  • Thymeleaf

Backend

  • Java 1.8
  • Spring MVC 2.5.1
  • Spring Security
  • SQLite

Web Server

  • TomCat 9.0.76

Features

The application offers a range of features, including:

Login/Registation:

  • Offers a secure and streamlined process for user login and registration, enabling players to easily access their accounts and interact with the platform

Player Management:

  • Storing basic player information, such as name, email address, date of birth birth date and location. Tracking the creation date and last modification of a player's account.

Game catalog:

  • Maintaining a list of available games with their unique identifiers and names.
  • Allowing players to search for games based on various criteria,

Tracking participation in games:

  • Recording players participation in various games, creating a many-to-many relationship between players and games.
  • Including game statistics such as the number of hours spent in a game, kills, deaths and the player's ranking in that game.
  • The ability to ban players in specific games.

Manage related accounts:

  • Allowing players to link additional accounts to their main gaming profile.
  • Include information about linked accounts, such as username, email address and platform.

Database DDL,DML, Scheme

DDL:

create table Games
(
    game_id   INTEGER      not null
        constraint Games_pk
            primary key autoincrement,
    game_name varchar(255) not null
);

create table Players
(
    player_id     INTEGER                not null
        constraint Players_pk
            primary key autoincrement,
    player_name   varchar(82)            not null,
    email         varchar(82)            not null,
    date_of_birth date                   not null,
    created_at    datetime               not null,
    last_modified datetime               not null,
    location      varchar(82)            not null,
    password      varchar(82)            not null,
    role          varcher default 'user' not null
);

create table Game_Participation
(
    Participation_id INTEGER not null
        constraint Game_Participation_pk
            primary key autoincrement,
    player_id        int     not null
        constraint Game_Participation_Players
            references Players,
    game_id          int     not null
        constraint Participation_Games
            references Games,
    hours_played     int     not null,
    join_date        date    not null,
    is_banned        boolean not null,
    kills            int     not null,
    death            int     not null,
    rank             int     not null
);

create table Linked_Accounts
(
    linked_id       int         not null
        constraint Linked_Accounts_pk
            primary key,
    player_id       int         not null
        constraint Linked_Accounts_Players
            references Players,
    account_details varchar(82) not null
);`

DML:

VALUES (1, 'Sayres', '[email protected]', '2003-12-04', '2024-01-13 10:37:32', '2024-01-13 11:24:55', 'Warsaw, Poland',
        '123'),
       (2, 'S22141', '[email protected]', '2002-07-02', '2023-12-08 15:43:44', '2024-01-13 22:11:54', 'New York, USA',
        '321'),
       (3, 'Git', '[email protected]', '2003-12-04', '2024-01-13 19:00:00', '2024-01-13 11:24:55', 'Toronto, Canada',
        '123'),
       (4, 'Tin', '[email protected]', '2000-06-02', '2024-01-10 18:43:44', '2024-01-13 22:11:54', 'Paris, France', '321'),
       (10, 'Alex', '[email protected]', '1995-07-11', '2024-01-15 22:33:27', '2024-01-15 23:33:27', 'Berlin, Germany',
        'twwqbigv'),
       (11, 'Jordan', '[email protected]', '1984-02-09', '2024-01-15 22:33:27', '2024-01-16 16:33:27', 'London, UK',
        '23j4ycaa'),
       (12, 'Riley', '[email protected]', '1992-08-12', '2024-01-15 22:33:27', '2024-01-16 06:33:27', 'Madrid, Spain',
        'j2gkgj8x'),
       (13, 'Taylor', '[email protected]', '1993-03-17', '2024-01-15 22:33:27', '2024-01-16 13:33:27', 'Rome, Italy',
        'zrelm2jj'),
       (14, 'Morgan', '[email protected]', '2002-11-18', '2024-01-15 22:33:27', '2024-01-16 05:33:27',
        'Amsterdam, Netherlands', '8p9iob8q'),
       (15, 'Casey', '[email protected]', '2002-09-17', '2024-01-15 22:33:27', '2024-01-16 20:33:27',
        'Brussels, Belgium', 'p39wzqsb'),
       (16, 'Drew', '[email protected]', '1994-05-30', '2024-01-15 22:33:27', '2024-01-16 20:33:27', 'Vienna, Austria',
        'wck85l4l'),
       (17, 'Jesse', '[email protected]', '1993-05-12', '2024-01-15 22:33:27', '2024-01-16 22:33:27',
        'Copenhagen, Denmark', 'fueu4vh6'),
       (18, 'Quinn', '[email protected]', '2000-09-02', '2024-01-15 22:33:27', '2024-01-16 04:33:27',
        'Dublin, Ireland', '352wbhdu');

INSERT INTO Games (game_id, game_name)
VALUES (1, 'CS 2'),
       (2, 'DOTA 2'),
       (3, 'Valorant'),
       (4, 'League of Legends');


INSERT INTO Game_Participation (Participation_id, player_id, game_id, hours_played, join_date, is_banned, kills, death,
                                rank)
VALUES (1, 1, 1, 17, '2023-12-01', 0, 255, 270, 2),
       (2, 2, 2, 12, '2024-01-01', 0, 1047, 700, 2),
       (3, 1, 3, 14, '2023-12-25', 0, 754, 523, 3),
       (4, 2, 4, 11, '2023-11-05', 0, 5, 3, 1),
       (5, 3, 2, 15, '2023-12-25', 0, 754, 523, 3),
       (10, 12, 2, 10, '2023-11-19', 1, 866, 963, 5),
       (11, 12, 1, 16, '2023-11-16', 1, 424, 680, 2),
       (12, 4, 3, 3, '2023-11-29', 0, 797, 167, 5),
       (13, 12, 3, 16, '2023-12-17', 0, 480, 44, 3),
       (14, 14, 4, 6, '2023-11-11', 0, 12, 789, 2),
       (15, 13, 2, 13, '2023-12-03', 1, 975, 867, 5),
       (16, 4, 4, 9, '2023-12-13', 0, 392, 802, 5),
       (17, 3, 2, 14, '2023-12-31', 0, 492, 890, 3),
       (18, 13, 2, 17, '2023-11-27', 1, 832, 365, 4);

INSERT INTO Linked_Accounts (linked_id, player_id, account_details)
VALUES (5, 3, 'STEAM: Sayres'),
       (2, 2, 'BATTLNET: AccountDetails2'),
       (3, 3, 'STEAM: AccountDetails3'),
       (4, 4, 'PSN: AccountDetails4');

admin-2024-01-17_00-23

Deployment

1.Build the project: mvn clean install

2.Ensure that JDK 1.8 is installed

3.Set up the SQLite database in UserDAO, ParticipationDAO, SecurityConfig, LinkedAccountDAO, GameDAO

4.Add TomCat Server to IDE

Screenshots

image

image

image

image

image

image

games-platform-site's People

Contributors

sayres11 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.