Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vano2903/peggle-data-collector
a webapp with all the data of qdss's peggle games
https://github.com/vano2903/peggle-data-collector
go golang mongodb peggle qdss
Last synced: 18 days ago
JSON representation
a webapp with all the data of qdss's peggle games
- Host: GitHub
- URL: https://github.com/vano2903/peggle-data-collector
- Owner: Vano2903
- Created: 2021-06-08T17:46:20.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-09-14T15:34:55.000Z (over 3 years ago)
- Last Synced: 2024-11-09T03:16:40.612Z (2 months ago)
- Topics: go, golang, mongodb, peggle, qdss
- Language: Go
- Homepage:
- Size: 5.67 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PEGGLE DATA COLLECTOR
---
Table of Contents
---
### What is this project
peggle data collector is a summer homework, the main goal is to store the most ammount of games of [peggle](https://www.youtube.com/watch?v=IwvS8ft7DM8&list=PLkjetvDN3k23J8nTmlDOnxiP3ZXDdCIZD) recorded by [QDSS 2](https://www.youtube.com/channel/UC5GSO2hiHevgZUhSQIJNd2A) and show the respective data with google charts.
The games are stored in a atlas cluster (mongo db) and using golang to create a api and webserver that show and let people query those games freely.
(It was a project I already wanted to create, the summer homework was more like a excuse to me).You can find the webpage hosted here: [peggle-data-collector.herokuapp.com](https://peggle-data-collector.herokuapp.com/).
---
### Built With
- hosting
- [heroku](https://heroku.com)
- database
- [mongodb-atlas](https://www.mongodb.com/cloud/atlas)
- front-end
- [Bootstrap 5](https://getbootstrap.com/docs/5.1/getting-started/introduction/)
- [Bootstrap 4](https://getbootstrap.com/docs/4.6/getting-started/introduction/)
- [JQuery](https://jquery.com)
- [Google Charts](https://developers.google.com/chart)
- back-end
- [gorilla-mux](https://github.com/gorilla/mux)
- [mongo-driver](https://pkg.go.dev/go.mongodb.org/mongo-driver?utm_source=godoc)
- [google-api](https://pkg.go.dev/google.golang.org/api)
- [yaml.v2](https://gopkg.in/yaml.v2)---
### Prerequisites
[go](https://golang.org/) >= 1.16
### Set Up
To install all modules required to make the webserver work first you need to clone the repo
```
git clone https://github.com/Vano2903/peggle-data-collector
```cd into the directory created
```
cd peggle-data-collector
```install all modules in go mod
```
go mod download
```> :warning: **it wont work if you dont have the proper config.yaml**: only I ([the creator](https://www.github.com/Vano2903)) have the correct file, the config contains the youtube api key and the uri for the atlas cluster
## TODO / v2.0
---
things i wanna implement for version 2.0:
- [ ] hash all the stored passwords
- [ ] add jwt for user authentication
- [ ] add OAuth2.0 (github OAuth seems the best option so far)
- [ ] add full search algorithm (mongob atlas offer that but means migrate to atlas)
- [ ] let user query a date like 2021-2-4 and convert it to 2021-02-04
- [ ] check if a structure has default values (means not modified)todo for this version:
- [x] colors on buttons in add-game
- [x] user section
- [x] stats database
- [ ] add function that let user clean just a section of the game adding function and not only everything
- [ ] section to add a comment while inserting a game
- [ ] dont create a button in commit area if there are none
- [ ] users section
- [x] working search box
- [ ] public page dedicated to collaborators
- [x] main page
- [x] home with game's cards, navbar and search box
- [x] individual game page with all the stats of the game
- [x] players stats (use stats databaes) (scatter graph, bar graph, pie graph)
- [ ] api documentation area
- [ ] support area (my paypal or buymeacoffe)