Giter Club home page Giter Club logo

dat251gr9's People

Contributors

erlendberntsen avatar imgoze avatar runalmaas avatar spydx avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

dat251gr9's Issues

[0p] List of all competitions in Norway

Userstory
As a runner i should be able to see which competitions that are open because as a runner I would like to compete.

Describe the solution you'd like
A list of all the competitions so i can choose a competition to join.

Additional context

Is your feature request related to a problem? Please describe.
no


Acceptance Criteria

[0p] Deployment/Workflow super issue

This issue tracks work on what used to be only CI/CD for sprint 3.

Subtasks

  • Figure out which environments we need: #33
  • Create pipeline for deploying application to production (done previously)
  • Automatic testing on each push to (main, backend, frontend) (done previously)
  • Create local development workflow with docker: #51
  • Create integration tests for the entire application: #35

[8p] CI/CD Chain on GitHub Actions

Ticket: #10
Time estimate: 4h

Topics
Setting up CI/CD Chain

Describe the solution you'd like
Foreach branch we need a build task that publishes the artefacts to out dev environments.
We also need one for publishing to the Production environment.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.


Acceptance Criteria

  • Build task for Test Frontend branch
  • Build task for Test Backend branch
  • Build task for Production
  • Verify that individual build tasks work
  • Auto deploy backend from main
  • Auto deploy frondend from main

[5p] Review and improve Domain Model

Topics
Test and verify domain model is fitting for our needs.

Describe the solution you'd like
See assignment 2 Part 2 for more information about this task.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.


Acceptance Criteria

  • Working on test dataset
  • ER diagram
  • Review domain model
  • Document new changes
  • Redo Domain Model

[1p] Request data

Topics
As db.kondis.no if they would be able to share their data with us for this project.

Describe the solution you'd like
Get consent from kondis.no if possible and acquire data (if possible) from db.kondis.no

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.


Acceptance Criteria

  • Consent to use their data on db.kondis.no
  • Aquire data from db.kondis.no (if consent is negative this is not possible)

[userstory] Promotere løp

Userstory

Som arrangør trenger vi en måte å promotere løp slik at vi får flere løpere og slipper å bruke så mye resurser / penger på å nå aktuelle løpere.

Describe the solution you'd like
Anbefale løpet/ene for aktuelle løpere i området.

Additional context
Add any other context or screenshots about the feature request here.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]


Acceptance Criteria

  • Løper profil innstillinger som matcher det løpet som arrangøren har.

[5p] Create docker workflow for local development

When developing locally, teams will mainly be working either on the back end or the front end.

  • When working on the front end, you should use a provided image of the back end to develop against the latest API.
  • When working on the back end you should use a provided image of the database server.

Acceptance Criteria

  • Docker images are automatically uploaded to the cloud
  • There is a docker-compose file for the 'backend' branch. It should start one container for DB.
  • There is a docker-compose file for the 'frontend' branch. It should start two containers for API + DB.

[2p] Create controller for event information

Describe the solution you'd like
a controller responsible for event information endpoints


Acceptance Criteria

  • fitting controller name/path
  • returns list of events
  • event returned contains race information

[8p] Set up integration testing of the application

Topics
Integration tests for Frontend and Backend

Describe the solution you'd like
When we are pushing code to the repository, the integration test should be running on the build environment.

Is your feature request related to a problem? Please describe.
We currently have some unit tests for the different parts (tiers) of the application. However, these are mainly testing smaller units of the application. Testing the application as a whole, either api + DB or api + front end + DB requires a different approach. All we know at the moment is that the tests should run on a deployed instance of the application.


Acceptance Criteria

  • Find a good way to use JEST and SpringBoot to do integration tests.
  • Document the integration test process
  • Integration tests for the Frontend to Backend
    e.g. API connectivity
  • Verify that the integration tests are running in GitHub Actions

Maybe a source: Chapter 2 in this book: https://drive.google.com/file/d/15j7lcIGLcJYEp96ytl9CX-iFVVir-DXL/view?usp=sharing

[2p] Architect drawing (collaboration)

Ticket: #10
Estimated time: 1h

Topics
Design the architect drawing for the system

Describe the solution you'd like
A design of the architecture of the system using Draw.io.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.

Ticket: #10

Acceptance Criteria

  • A architect diagram

[5p] Event Presentation in Frontend

Topics
Event presentation

Describe the solution you'd like
When you view the list of events (searched or not),
the user should be able to select "Go to details button" and view the details of the event / race.
Here the user is presented with all the details of the race and a back button, taking you back to the search result/frontpage.

"Go to details button/ back button" : should be a good and intuitive way for the user to navigate from the list to the details page / and back.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.


Acceptance Criteria

  • Design Event Presentation Page.
  • Go to Details Navigation on the EventCard in the ListOverview
  • Back Navigation that takes you back to the search result

[1p] Password hash for Accounts is exposed through accounts

Topics
Exposed password hash

Describe the solution you'd like
When a user runs HTTP GET /accounts/{id} his account password hash should not be sendt to the user.

> curl -X GET "http://localhost:8080/api/accounts" -H "accept: application/json" -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJlM2ZmOWNlMS1iOTM0LTQ0MjYtYTYxMy1mNWYwZmEzNGNkZTgiLCJpYXQiOjE2MTcxMzI2MDMsImV4cCI6MTYxNzczNzQwM30.2ZdKNqvGahbVCSW_tlU6a2KxCqittKUEQCnrEeCuPhidHd7Z7BHkFgBReqRpyp2efznFt9pmSQL_uOhgwuvyJw"

[{"id":"e3ff9ce1-b934-4426-a613-f5f0fa34cde8","email":"[email protected]","password":"$e0801$mZiEWAjWO2e8GCgsomb3hxrKOmZ5eHkoBqJhHIg0SV5sCyGU4X9hVLjiqs6nAKrjQwAh007FNwZ3u636ijaekw==$nmfbR8aQnAvUWAftF99HM4CfKFkuZl26p3ErFq2wG3s=","roles":[{"id":1,"role":"USER"}],"profile":{"id":"81cb25d6-baff-4e8f-bc6f-91fc5122664c","firstname":"Lop","lastname":"Admin","birthdate":null,"address":null,"city":null}}]% 

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.


Acceptance Criteria

  • When GetAll and other functions fetching useraccounts is not exposing the password hash

[userstory] Lagre søk på løp

Userstory

Som erfaren løper trenger eg å kunne lagre søk på løp for dette gir en god oversikt over løp som løperen er interessert i.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Additional context
Add any other context or screenshots about the feature request here.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]


Acceptance Criteria

  • Søke og lagre søket
  • kriterier: type, område, lengde osv osv. disse som er på db.kondis.no

[userstory] Vise kvaliteten ved løpet

Userstory
Som arrangør trenger vi å vise kvaliteten til løpet slik at flere løpere velger å løpe dette løpet.

Describe the solution you'd like
Trenger å vise hvilke profilerte løpere som skal delta og hvor mange som skal løpe løpet.

Additional context

Kvalitet på løp er “målt” gjennom hvem (profilerte løpere) som deltar i løpet.Rate løp, legge kommentar som feedback på løpet.Vise noen toppløpere som er med på løpet. Løper bestemmer selv om dette er greit å bruke for promotering.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]


Acceptance Criteria

  • En skal kunne se hvilke profilerte løpere som skal løpe løp
  • En skal se hvor mange som "Skal løpe" løpet
  • En skal se hvor mange som er "interessert i å løpe" løpet
  • Rate løp, legge kommentar som feedback på løpet

[2p] Dockerfiles for Frontend / Backend

Ticket #10
Time estimate: 4h

Topics
Dockerfiles for Frontend / Backend
and a working Docker-Compose.yml

Describe the solution you'd like
A clear and concise description of what you want to happen.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.


Acceptance Criteria

  • Dockerfile for Frontend
  • Dockerfile for Backend
  • Docker-comose for project (initial only with frontend /backend)

[userstory] En måte å se hva andre har meldt seg på

Userstory
Som en løper trenger eg en måte å se hva André har meldt seg på / deltar på for
dette motiverer meg til å melde meg på løp.

Describe the solution you'd like
En måte å se hva andre har meldt seg på/har deltatt på

Additional context
Interessen for å delta i et spesifikt løp kan være avhengig om andre personer deltar i det løpet.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]


Acceptance Criteria

  • Finn løpe partner, motiverende mot andre løp
  • Lage favoritter, slik at vi kan bruke dataene til å promotere større løp.
  • Interesse, “skal løpe” knapper for å måle hvor populært et løp er.
  • Følge andre løpere, slik at vi kan se hvem som deltar hvor.

[1p] Tech stack & Architecture

Topics
Bestemme tech stack for prosjektet

Frontend
DB
Backend
Arkitektur

Describe the solution you'd like
A clear and concise description of what you want to happen.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.


Acceptance Criteria

  • FrontEnd
  • DB
  • Backend
  • Architecture
  • Docker?
  • Hosting?

[1p] Create Locations entity

Topics
A locations entity connected to the event entity in backend


Acceptance Criteria

  • An entity containing: county, municipality, place, latitude and longitude
  • A accompanied DAO
  • A accompanied DTO
  • A accompanied service
  • Sample data in setupservice
  • tests for DAO
  • tests for DTO

[5p] Create event controller service

Describe the solution you'd like
a controller service used by the event controller


Acceptance Criteria

  • test that event data is returned by service

[1p] Enable Swagger UI for the Backend

Topics
Enable Swagger UI for the Backend

Describe the solution you'd like
Create a config for the SwaggerUI, and verify that the Swagger UI is working for the REST API.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.


Acceptance Criteria

  • Create a config
  • Verify that the SwaggerUI is working

[5p] Figure out which environments we need

Topics
CI/CD

Describe the solution you'd like
Where and how to deploy each tier of the application. How many environments are needed? Can the database be shared between two environments?

Is your feature request related to a problem? Please describe.
CI/CD


Acceptance Criteria

  • Create environment for production.
  • Create environment for staging - Not applicable due to choices made in CI/CD.
  • Be able to manually deploy to each environment. - Not applicable.

[1p] Create Contacts entity

Topics
An entity with contacts information for a event connected to both organizer #58 and Event

Describe the solution you'd like
A clear and concise description of what you want to happen.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.


Acceptance Criteria

  • An entity containing: name, email and phone for a event contact
  • A accompanied DAO
  • A accompanied DTO
  • A accompanied service
  • sample contacts added to test data in setupservice
  • tests for DAO
  • tests for DTO

[5p] Return search result from API to Frontend

Topics
Search result.

Describe the solution you'd like
When a user is using the search options in our frontend, it should be able to select all the parameters a race has to search for a race fitting the users requested criteria. The backend should return a list for this user query.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.


Acceptance Criteria

  • Endpoint that accepts search parameters for races.
    e.g. GET /api/events/search?params....
  • Race distance,
  • event dates,
    name
  • all race parameters,

Bonus

  • Distance from runner to race search
    Requires knowing where the runners browser is when searching and location of the race.

[8p] Add tests to staging environment

Topics
Integration tests

Describe the solution you'd like
Automatic tests for the application in the staging environment before promotion to production.


Acceptance Criteria

  • When deployed to staging environment integration tests are ran.

[userstory] Arrangør behov

Userstory
Som arrangør trenger eg en enkel og god måte å arrangere et eller flere løp flere ganger for dette sparer oss for tid og krefter.

Describe the solution you'd like
Dette er for å minske det administrative arbeidet, dette løpet går hvert år, [checkmark].
Og lignende features som gjør det effektivt å arrangere.

Additional context

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]


Acceptance Criteria

  • Arranger dette løpet igjen knapp
  • Løpet går da hvert år, mnd, uke basert på hva arrangøren ønsker.
  • Overføre løp til en annen arrangør knapp

[2p] Backend: Security Policy

Topics
Implement the security policy for the API,

Describe the solution you'd like
Should implement a security policy that has Bearer tokens to access all resources.
There should be test checking that the token is generated
There should be test for access to a resource after authenticating.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.


Acceptance Criteria

  • Implement a security policy that has Bearer tokens to access all resources.
  • Test checking that the token is generated
  • Test for access to a resource after authenticating.

Improve collective ownership™ of the project

Kollektivt kodeeierskap innebærer at vi ikke har "min kode" og "din kode", men at alle kan gjøre endringer alle steder i koden. Jeg tenker at vi burde utvide dette til å ikke bare omhandle koden, men at vi kan oppnå et kollektivt eierskap av hele prosjektet. Dette vil gjøre at det er mye mindre friksjon for å få ting gjort.

En liste av ting jeg kommer på:

  • Tilgang til felles dokumenter
    • Google Docs
    • Lucidchart (disse er for tiden spredt rundt omkring)
  • Administrativ tilgang til infrastruktur og platform-tjenester
    • Databaser
    • Front end og back end hosting
    • GitHub repositorier (legge til Secrets, skru av/på branch protection, osv)

Noe annet?

[8p] Search presented in Frontend for Events

Topics
Search bar for Events

Describe the solution you'd like
A user should be able to access the main page and be presented with a search bar that queries the backend for a fitting result based on the user input.

Search parameters: all race properties, dates of events, name of events

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.


Acceptance Criteria

  • Design a search bar for the frontend.
  • Search bar should submit the user query to backend
  • Search bar should present the returning results for the user. (Search result page)

[2p] Create React project for FrontEnd

Ticket #10
Time estimate: 3h

Topics
Create React project for FrontEnd
import all known base dependencies (e.g Bootstrap)
Find a good test library for React Frontend.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.


Acceptance Criteria

  • Branch for the frontend project
  • Create React project
  • Import all known base dependencies
  • Create a test for the React Frontend
  • Merge base branch to main

[0p] CI/CD Github Actions

Topics
Set up GitHub Actions

Describe the solution you'd like
A clear and concise description of what you want to happen.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.


Acceptance Criteria

  • Integrate GitHub Actions for our CI/Cd

[userstory] En måte å finne gode anbefalte løp

Userstory

Som en helt ny løper trenger jeg en måte å finne gode anbefalte løp slik at jeg kan komme i gang med løpekonkurranser.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Mulighet for å søke på løp basert på

  • beliggenhet (jo nærmere jo bedre)
  • størrelse (deltakere)
  • pris (lavere startkontingent er foretrukket)
  • seriøshet/respektabiltet (er det arrangørt før? hva mener andre løpere om løpet?)
    eventuelt andre kriterier

Additional context
Nye løpere har ingen erfaring med tidligere løp så de vet ikke hva som er omtalt som "gode" løp.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]


Acceptance Criteria:

  • Backend implementation #55
  • Frontend implementation #57

Bonus Tasks

Mulighet for å søke på løp basert på

  • beliggenhet (jo nærmere jo bedre)
  • størrelse (deltakere)
  • pris (lavere startkontingent er foretrukket)
  • seriøshet/respektabiltet (er det arrangørt før? hva mener andre løpere om løpet?)
  • eventuelt andre kriterier (legg dem til som liste her)
  • distanse (lengden på løpet)

[1p] Create Organizer Entity

Topics
An entity responsible for the organizer account

Describe the solution you'd like
This entity should be responsible for storing the users with the organizer role. Differentiate between the normal user and a organizer account.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.


Acceptance Criteria

  • An entity containing: name, address and other relevant organizer information for a organizer account
  • A accompanied DAO
  • A accompanied DTO
  • A accompanied service
  • sample data in setupservice
  • tests for DAO
  • tests for DTO

[userstory] En komplett database over alle løpene i norge

Userstory

Som proff løper trenger eg tilgang til å søke i alle løp i hele Norge for å kunne forenkle planleggingen av sesongen min.

Describe the solution you'd like
Muligheter for å søke, lagre favoritter og ha en oversikt i en kalender.

Additional context
Add any other context or screenshots about the feature request here.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]


Acceptance Criteria

  • Løper kan se i oversikten sin over alle løpene en skal delta på i en sesong.
  • Må kunne søke og få anbefalt løp som er relevante for løperen.

Bonus

  • potensiale treningsplanlegger for sesongen (hviletid/opptreningstid) Roghart

[5p] Setup connection to database

Topics
Describe

Describe the solution you'd like
Make sure data is stored in database after request is sent from API.


Acceptance Criteria

  • Data is stored in database
  • Data is fetched from database

[1p] Authentication on Creating Resources in the Backend

Topics
Authentication on resources in the Backend

Describe the solution you'd like
When resources, that requires a user in the backend, is accessed.
The user must be validated and ensured to it has the rights to access this resource.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.


Acceptance Criteria

  • Validating access to resources in the backend.
  • Backend endpoint for validating tokens: /api/auth/validToken

[3p] Display list of sample data

Describe the solution you'd like
If test data contains multiple events display all in an ordered list.


Acceptance Criteria

  • test that all events from test data get rendered

[3p] CD to staging environment

Topics
CI/CD

Describe the solution you'd like
The application is automatically deployed into the staging environment on each commit to main branch.


Acceptance Criteria

  • backend is deployed
  • frontend is deployed

[2p] Timesheet and Burndown Chart

Time estimate: 2h
Topics

Find and create timesheet method for the team
Find and create a way to make Burndown Charts as easy as possible for the team.

Describe the solution you'd like
As we log hours , we need a way to but this into the Sprint log, so we need an easy way for the team to log this,
so we can add it to the team report after the sprint.

Also we need to create a burndown chart, and it would be nice if we could make this from the timesheet for all the logged users.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.


Acceptance Criteria

  • Find a good method for the team to log hours for tasks
  • Find a good method for the team to create burndown chart
  • Educate team on logging of hours for their tasks
  • Educate team on creating a burndown chart

[5p] Create Spring Boot project for API ( Backend)

Ticket #10
Time estimate: 6h

Topics

Create RESTAPI Base project in SpringBoot

Describe the solution you'd like
Use Sprintboot initializer to create a project:

  • Maven
  • Java 15
  • SpringBoot 2.4.2
  • Modules
  • REST API
  • Security
  • JPA
  • Lombook

Create a Test to verify that the project is working.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.


Acceptance Criteria

  • Branch for the backend project
  • Create Spring boot project
  • Import all known base dependencies
  • Create a test for the Spring boot backend
  • Merge base branch to main

[xx] Front end signin/signup

  • Sign Up / Login for user accounts in the FrontEnd.
  • Backend /api/auth/validToken
  • Profilvisning må en være authentisert

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.