Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/veikkosuhonen/lautapeli_app
Web-app for logging your groups boardgame sessions
https://github.com/veikkosuhonen/lautapeli_app
ci-cd docker express full-stack heroku nodejs postgres react react-query reactjs sequelize supertest tailwindcss
Last synced: 19 days ago
JSON representation
Web-app for logging your groups boardgame sessions
- Host: GitHub
- URL: https://github.com/veikkosuhonen/lautapeli_app
- Owner: Veikkosuhonen
- License: gpl-3.0
- Created: 2021-12-14T15:03:41.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2022-03-12T19:32:10.000Z (almost 3 years ago)
- Last Synced: 2024-11-04T17:51:03.041Z (2 months ago)
- Topics: ci-cd, docker, express, full-stack, heroku, nodejs, postgres, react, react-query, reactjs, sequelize, supertest, tailwindcss
- Language: JavaScript
- Homepage:
- Size: 4.64 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# lautapeli_app
![example workflow](https://github.com/Veikkosuhonen/lautapeli_app/actions/workflows/main.yml/badge.svg)
Web-app for logging your groups boardgame sessions. Go see it at https://lautapelit.herokuapp.com/
_Tämä on myös HY:n fullstack-harjoitustyöni_: [_Tuntikirjanpito_](https://github.com/Veikkosuhonen/lautapeli_app/blob/master/tuntikirjanpito.md)
[_Käyttöohje_](https://github.com/Veikkosuhonen/lautapeli_app/blob/master/kayttoohje.md)
## Features
- [x] Users can create an account using a numeric code with a 48 hour expiration time
- [x] The admin user generates these codes from the admin interface in the app
- [x] Users see all added boardgames and can filter and sort these.
- [x] Users can add new boardgames with a name and a description. The description can be freely edited later
- [x] Users can open each boardgames' page and see its playsessions.
- [x] Users can log their playsessions
- [x] Playsessions contain information about when it happened, what the duration was and who were playing and what each players scores were
- [x] Events such as playsessions, users joining and boardgames getting added, show up on the activity feed
- [x] Playsessions can be deleted by the creator or admin.
- [x] Boardgame can be deleted by the creator or admin if it has no playsessions.
- [x] Users can like boardgames and see the like count
- [ ] Users have 3 mega-likes (for some reason) which they can allocate to boardgames
- [x] Discussions: users can comment on playsessions and boardgames.
- [ ] Users can edit and delete their comments. Admin can delete any comment.
- [ ] A separate discussion activity feed for comments shows up besides the normal activity feed.
- [ ] Tags: boardgames can have tags, users can create new tags. Users can search boardgames by tags.
- [ ] Score types: boardgames can have different scoring systems in addition to the default numeric scoring, such as win-lose.
- [x] Images: boardgames have an image gallery. Users can upload images from the boardgames' page.
- [x] Most recently added images show up in a carousel on the landing page.## How to...
### Dev:
Requirements: Docker, Node
- Fork and clone the repository
- Backend: `npm install`, `docker-compose up`.
- Run backend tests: `npm run test:container`
- Frontend: `npm install` and `npm start`.
- Frontend css: `npm run tailwind:dev`
- Building frontend: `npm run build`### Deployment:
Github Actions CI is set up to deploy the application to Heroku.
- Installs Node
- Builds frontend
- Builds the backend image and runs api tests on it
- Logs into Heroku
- Pushes the image to Heroku repository## Some tech used
- [Node 17](https://hub.docker.com/_/node)
- Express
- Sequelize
- Jest and SuperTest
- [Postgres](https://hub.docker.com/_/postgres)
- React
- React-Query
- TailwindCSS