diff --git a/README.md b/README.md index 71ff3b6..9754990 100644 --- a/README.md +++ b/README.md @@ -1,163 +1,28 @@ # RaspberryRocketeer -## Class Diagram of all classes +## How to run -```mermaid -classDiagram -direction BT -class Collidable { - collides(o: Entity) boolean -} -class Database { - any _db - any db -} -class Entity { - constructor(position: Position, width: number, height: number, fill: number) - Position _position - number _width - number _height - number fill - boolean _showHitbox - update() void - draw() void - Position position - number width - number height - boolean showHitbox -} -class Game { - number id - number score - string playtime - Date date - number userId -} -class GamePgPromiseRepository { - insert(game: Game) Promise~Game~ - serialize(raw: any) Game -} -class GameRepository { - insert(game: Game) Promise~Game~ -} -class HighscoreLeaderboard -class HighscoreLeaderboardPgPromiseRepository { - getAll() Promise~HighscoreLeaderboard~ - serialize(raw: any) HighscoreLeaderboard -} -class HighscoreLeaderboardRepository { - getAll() Promise~HighscoreLeaderboard~ -} -class Leaderboard -class LeaderboardEntry { - number username - number rank - T score -} -class Obstacle { - constructor(position: Position, obstacleWidth: number, obstacleHeight: number, pipeImagePath: string) - Pipe pipeTop - Pipe pipeBottom - number padding - number speed - number _distanceBetweenPipes - number _startX - resetPosition() void - randomizeHeight() void - randomRange(min: number, max: number) number - update() void - draw() void - collides(o: Entity) boolean - any startX - any distanceBetweenPipes -} -class Pipe { - constructor(positionX: number, width: number, height: number) - any _image - update() void - draw() void - move(speed: number) void - collides(o: Entity) boolean - any image -} -class Position { - constructor(x: number, y: number) - number _x - number _y - number x - number y -} -class Raspberry { - constructor(image: string) - number lift - number gravity - number _velocity - any _image - Position position - number maxVelocity - number WIDTH - number HEIGHT - number FILL - update() void - applyGravity() void - forceBoundaries() void - boost() void - draw() void - number velocity - any image -} -class TimeLeaderboard -class TimeLeaderboardPgPromiseRepository { - getAll() Promise~TimeLeaderboard~ - serialize(raw: any) TimeLeaderboard -} -class TimeLeaderboardRepository { - getAll() Promise~TimeLeaderboard~ -} -class User { - number id - string name -} -class UserPgPromiseRepository { - getById(id: number) Promise~User~ - getByName(name: string) Promise~User~ - withIdExists(id: number) Promise~boolean~ - withNameExists(name: string) Promise~boolean~ - insert(user: Omit~User, "id"~) Promise~User~ - serialize(raw: any) User -} -class UserRepository { - getById(id: number) Promise~User~ - getByName(name: string) Promise~User~ - withIdExists(userId: number) Promise~boolean~ - withNameExists(username: string) Promise~boolean~ - insert(user: Omit~User, "id"~) Promise~User~ -} -class UserScores { - number userId - number highscore - number totalScore - string totalPlaytime - number averageScore - number gamesPlayed -} -class UserScoresPgPromiseRepository { - getById(id: number) Promise~UserScores~ - serialize(raw: any) UserScores -} -class UserScoresRepository { - getById(userId: number) Promise~UserScores~ -} - -GamePgPromiseRepository --> GameRepository -HighscoreLeaderboardPgPromiseRepository --> HighscoreLeaderboardRepository -Obstacle ..> Collidable -Obstacle --> Entity -Pipe ..> Collidable -Pipe --> Entity -Raspberry --> Entity -TimeLeaderboardPgPromiseRepository --> TimeLeaderboardRepository -UserPgPromiseRepository --> UserRepository -UserScoresPgPromiseRepository --> UserScoresRepository +### Copy .env +First you need to copy the `.env.example`. +```shell +cp .env.example .env +``` + +Note: It is recommended to change the values for the database user. + +### Install node packages +Go into the frontend folder using +```shell +cd frontend +``` +and run: +```shell +npm install +``` + +### Start the container + +```shell +docker compose up --build ``` diff --git a/backend/db/initScripts/loadMockData.sql b/backend/db/initScripts/loadMockData.sql deleted file mode 100644 index 7735cc9..0000000 --- a/backend/db/initScripts/loadMockData.sql +++ /dev/null @@ -1,40 +0,0 @@ -insert into "user" (name) values ('dpettus0'); -insert into "user" (name) values ('egreetland1'); -insert into "user" (name) values ('smontford2'); -insert into "user" (name) values ('idagwell3'); -insert into "user" (name) values ('lgagan4'); -insert into "user" (name) values ('acarmont5'); -insert into "user" (name) values ('kjermyn6'); -insert into "user" (name) values ('dokieran7'); -insert into "user" (name) values ('pdrinkel8'); - -insert into game (user_id, score, playtime, date) values ('1', 74, '19:59', '2022-07-19'); -insert into game (user_id, score, playtime, date) values ('1', 86, '20:32', '2022-11-24'); -insert into game (user_id, score, playtime, date) values ('1', 68, '10:41', '2022-03-24'); -insert into game (user_id, score, playtime, date) values ('2', 39, '5:55', '2022-06-01'); -insert into game (user_id, score, playtime, date) values ('2', 20, '9:23', '2022-03-12'); -insert into game (user_id, score, playtime, date) values ('2', 28, '23:45', '2022-04-01'); -insert into game (user_id, score, playtime, date) values ('2', 44, '18:43', '2022-06-24'); -insert into game (user_id, score, playtime, date) values ('3', 92, '14:54', '2022-11-06'); -insert into game (user_id, score, playtime, date) values ('3', 73, '0:45', '2022-07-26'); -insert into game (user_id, score, playtime, date) values ('3', 27, '2:49', '2022-02-03'); -insert into game (user_id, score, playtime, date) values ('4', 26, '2:32', '2022-07-19'); -insert into game (user_id, score, playtime, date) values ('4', 12, '17:03', '2022-04-25'); -insert into game (user_id, score, playtime, date) values ('4', 6, '8:49', '2021-12-03'); -insert into game (user_id, score, playtime, date) values ('4', 22, '22:27', '2022-03-02'); -insert into game (user_id, score, playtime, date) values ('5', 94, '1:04', '2022-10-19'); -insert into game (user_id, score, playtime, date) values ('5', 2, '2:14', '2022-04-06'); -insert into game (user_id, score, playtime, date) values ('5', 21, '17:18', '2022-06-03'); -insert into game (user_id, score, playtime, date) values ('6', 33, '16:01', '2022-02-02'); -insert into game (user_id, score, playtime, date) values ('6', 27, '7:03', '2022-02-06'); -insert into game (user_id, score, playtime, date) values ('6', 62, '0:45', '2022-11-15'); -insert into game (user_id, score, playtime, date) values ('7', 12, '8:54', '2022-06-29'); -insert into game (user_id, score, playtime, date) values ('7', 63, '16:01', '2022-11-05'); -insert into game (user_id, score, playtime, date) values ('7', 29, '0:46', '2022-10-01'); -insert into game (user_id, score, playtime, date) values ('8', 67, '1:27', '2022-09-29'); -insert into game (user_id, score, playtime, date) values ('8', 84, '10:37', '2021-12-18'); -insert into game (user_id, score, playtime, date) values ('8', 14, '19:14', '2022-01-31'); -insert into game (user_id, score, playtime, date) values ('9', 21, '19:04', '2022-03-08'); -insert into game (user_id, score, playtime, date) values ('9', 46, '2:34', '2022-04-18'); -insert into game (user_id, score, playtime, date) values ('9', 78, '9:33', '2022-09-10'); -insert into game (user_id, score, playtime, date) values ('9', 82, '11:19', '2022-11-29'); \ No newline at end of file diff --git a/frontend/package.json b/frontend/package.json index fbffbbe..a11bdcd 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -10,11 +10,11 @@ }, "dependencies": { "bootstrap": "^5.2.3", - "vue": "^3.2.13" + "vue": "^3.2.13", + "@vue/cli-service": "~5.0.0" }, "devDependencies": { "@vue/cli-plugin-typescript": "~5.0.0", - "@vue/cli-service": "~5.0.0", "typescript": "~4.5.5" } }