Giter Site home page Giter Site logo

su-cs308-22fa / ffp-tracker Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 2.0 10.13 MB

Financial Fair Play Tracker

Home Page: https://ffp-tracker.herokuapp.com/

License: MIT License

HTML 0.24% CSS 0.41% JavaScript 92.21% Shell 0.15% Procfile 0.01% Python 6.99%
football sabanci-university software-engineering

ffp-tracker's People

Contributors

berkeodaci avatar eegmnn avatar efetuzun avatar tanersnmz avatar

Stargazers

 avatar

Watchers

 avatar

ffp-tracker's Issues

TFF Admins can add supporters to the system to be registered.

As a TFF Admin, I want to be able to send a unique key to a new user(supporter) so that they can use the generated key in the signup process.

Definitions of Done:

  • I can view the profile page.

  • I can click on "Send Key" on the profile page.

  • I am then redirected to another page.

  • There, I can fill user name.

  • There, I can fill user email.

  • If the email is already in use or If a key has been sent to this e-mail before, I see an error message.

  • There, I can fill the user role as "Supporter".

  • There, I can use the automatically created registration key.

  • If the user name or email or role or key is empty, I see an error message.

  • If I submitted everything correctly, then redirected to the profile page.

TFF admins can deny revenue & expense submission of the teams.

As a TFF admin, I want to deny transactions of teams so that I can prevent teams from adding wrong, manipulated financial information.

Definitions of Done:

  • I can view the profile page.

  • I can click on "Reject a Team's Submission" on the profile page.

  • I am then redirected to another page.

  • There, I can see all teams with their last revenue & expense information.

  • If a team has no submitted revenue & expense information, I see a proper message for that.

  • There, I can click the deny button for the desired team.

  • If there is a problem while denying, I see an error message.

  • If denying is successful, then the transaction is deleted, admin of the team gets a notification with an email and the page will be automatically refreshed.

Team admins can update the information about their team.

As a team admin, I want to be able to update my team's information so it can be represented correctly on the FFP.

Definitions of Done:

  • Team admins can login.
  • Team admins can view their team by clicking on 'Edit Team' on the navigation bar.
  • Team admins can see the form where they can update their teams information.
  • Team admins can send the request to update their team's information.
  • If nothing is edited, then no request is processed.
  • Errors appear if there is any problem with the process.
  • If they do not click on update, then the system does not update the database.
  • After success, the page is refreshed.
  • If they view the information once again, it is updated.

A soccer player can see the budgets of the teams.

As a player, I want to see the expenses and revenues of the team I am going to go transfer so that I can see if the team can actually cover my salary.

Definitions of Done:

  • I can view the home page.
  • I can click on 'Teams' on the app bar.
  • I am then redirected to another page.
  • There, I can then view the graphs about all teams.
  • I can select an individual team to view detailed information.
  • I am redirected to the individual page of that team.
  • I can see their graphs, with some team based information.

Team Admins will be notified when their Net Spend goes Positive

As a team admin, I would like to notified when total net spend of my team goes above 0 TL.

Definitions of Done:

  • Team Admins can Login to the portal
  • Team Admin can navigate to the detailed team page of the team they are administrators of.
  • Team Admin can see their team's total net spend on detailed team page with updated income/expense information
  • A In-App notification will be sent by the system to that team's admins if total net spend is positive (above 0)
  • An E-mail notification will be sent to that Team's admins email address

Team admins get notified when there is a deadline for submission.

As a team admin, I want to get notified when there is a close deadline for submission so that I can submit my files on time.

Definitions of Done:

  • A team admin has not submitted anything for the previous month's finances by the 20th day of the next month.
  • All team admins that have not submitted any files will be receiving mails.
  • When they check the mail, they will be seeing that it is from the system.
  • Team admins will see a mail about which for which month, which team they have missing information.

Team admins can log in.

As a team admin, I want to be able to log into my account to submit the files in time so that I do not get fined.

Definitions of Done:

  • Team admins can see the log in screen.
  • Team admins can enter their credentials.
  • Team admins are notified if they enter their credentials wrong on the login screen.
  • Team admins can see the home page after login, with their name on top right corner.

Team admins can submit detailed information about their revenues and actions.

As a team admin, I want to enter information about my team about its income and expenses so that TFF can determine future financial strategies for our team.

Definitions of Done:

  • I can view the profile page.

  • I can click on "Submit Files" on the profile page.

  • I am then redirected to another page.

  • There, I can submit the revenues.

  • There, I can submit the expenses.

  • If revenues or expenses are not numeric, I see an error message.

  • There, I can submit the date.

  • If revenues or expenses or date is empty, I see an error message.

  • There, I can submit files.

  • If I submitted everything correctly, then redirected to the profile page.

TFF admins can alert team admins by email

As a TFF admin, I want to be able to alert the team executives who are in a negative financial trend via email in order to prevent them from bankruptcy.

Definition of Done:

  • TFF admin clicks the page of the team that he/she wants to warn and clicks the “Send Email” button to get contact for his/her concern.

  • I can view the home page.

  • I can click on 'Teams' on the app bar.

  • I am then redirected to Teams page.

  • I can click and go to specific teams page

  • There, I can click the "Send Email" button and send an e-mail by filling a template.

Lawyers get reminded when there is a deadline for review.

As an independent lawyer, I want to get notified when there is a close deadline for review so that I can review the files that are waiting.

Definitions of Done:

  • There are non-reviewed files that need to be reviewed in the system that have the status 'Submitted' in the File Status page.
  • Database will be running weekly scripts to see if anything is missing.
  • All lawyers will be receving mails.
  • When they check the mail, they will be seeing that it is from the system.
  • Lawyers will see a mail about which submissions need to be reviewed in the list format.

Users can login.

As a user of the system, I want to be able to log into my account so that I can access the functionalities of the system.

Definitions of Done:

  • Users can go to the login portal.
  • User can enter their credentials.
  • Users are notified with a message if they have wrong credentials.
  • Users are directed to their profile page after successful login.
  • Users can access different functionalities based on their roles.

TFF Admins can add new teams to the system.

As a TFF admin, I want to add new teams at the beginning of the season so that I can keep track of their financial status.
Definitions of Done:

  • After I am logged in, I can see the navigation bar and the profile page with my name.
  • I can click on Add Team button.
  • I am redirected to another page that includes a form.
  • I can enter the team's name and season starting budget determined by TFF.
  • If I enter the budget to be less than or equal to zero, I am prompted with an error.
  • If I try to enter a team that is already in the database, I am prompted with a message.
  • If I enter information correctly, the page alerts me and then I am directed to my profile page
  • On the teams page, I can see the team I added without a graph, as there is no information submitted yet.

Contracted lawyers can view their notifications.

As an independent lawyer, I can view my notifications so that I know when to start processing a submitted file.
Definitions of Done:

  • After I am logged in, I can see 'Notifications' tab on navigation bar.
  • I can click on the 'Notifications' tab.
  • I am redirected to my notifications.
  • I can view my notifications.
  • Ones that I did not read are marked, ones I read are not.

Fans can see teams current and future financial status without signup

As a team supporter, I want to access financial status of the teams and see future predictions of their financial performance anonymously without signing up to the system, therefore I can browse the data without having to bother with unnecessary sing-up and login procedures each time I enter the website.

Definitions of Done:

  • I can view the home page.
  • I can click on 'Teams' on the app bar.
  • I am then redirected to another page.
  • There, I can then view the graphs about all teams.

TFF admins get notified after file submissions.

As a TFF admin, I want to get notified whenever a team submits a file so that I can send them over to the lawyers to get ratified.
Definitions of Done:

  • After I am logged in, I can see 'Notifications' on the navigation bar.
  • I can click on 'Notifications', which directs me to my notifications page.
  • I can see my all notifications.
  • I receive notifications whenever a team submits a file.

Lawyers can notified whenever a team submits a file.

As an independent lawyer, I want to get notified whenever a team admin submits a file so that I can make ratifying and make it possible for the TFF to take further action.

Definitions of Done:

  • Lawyer can Login
  • After Lawyer logged in, they can see 'Notifications' on the navigation bar.
  • Lawyer can click on 'Notifications', which directs Lawyer to their notifications page.
  • Lawyer receive notifications whenever a team submits a file, in format of "[Team Admins Name] submitted a file for review"
  • Lawyer can see their all notifications.

TFF admins can see detailed expenses and revenues of the teams.

As TFF, we want everyone to clearly see the budgets and expenditures of the teams so that we prevent the teams from carrying out illegal finances.

Definitions of Done:

  • I can see each team's expenses and budgets on the dashboard. I can track suspicious and illegal expenses along with fans.

  • I navigate to a team page.

  • I see the current budget at the top.

  • I use revenue and expense tabs to see the total sum of them.

  • I scroll down to see the details for each expense/revenue item.

Logged In Users can see how many In-App Notification they have on App Bar

As a Logged In User, I can see how many notifications are in my inbox, so I can see if I received any new notifications.

Definitions of Done:

  • User can log in to the portal
  • User can see how many notification are in their inbox by looking at the Notifications part of the Appbar
  • User can navigate to their inbox, by clicking on Notifications on the Appbar.
  • User can see their in-app notifications at the notifications page.

Team admin can reject or approve sponsorship requests.

As a team admin, I want the ability to reject or approve sponsorship requests so that I can ensure that our team has the necessary resources and support to succeed.

Definitions of Done:

  • I can view the profile page.

  • I can click "Review Sponsorship Requests" on the profile page.

  • I am then redirected to another page.

  • There, I can view a list of pending requests along with the requester's name and the offered amount.

  • There, I can reject or approve the desired request.

  • If I reject successfully the page will be automatically refreshed, the request is deleted from the table and supporter get informed about it.

  • If I approve successfully the page will be automatically refreshed, the request is deleted from the table and supporter get informed about it, and the budget offering is seen on our team page.

Team admins can view and delete their notifications and send new notifications

As a team admin, I can see my notifications from the system so that I can see if there are any warnings about my future estimates.
Definitions of Done:

  • I can log in.
  • I click to notification tab on appbar.
  • I can view my notifications in notificationspage.
  • I can delete the desired notifications.
  • I can send notification to any user by providing their username, a subject and a message.

Supporters can make requests for supporting a team.

As a supporter, I want to request to be a sponsor for a desired team so that I can support and facilitate their success.

Definitions of Done:

  • I can view the profile page.

  • I can click "Request to Sponsor a Team" on the profile page.

  • I am then redirected to another page.

  • There, I can see all teams.

  • There, I can specify the budget amount for support by filling out the appropriate field.

  • There, I can click the request button for the desired team.

  • If the budget field is not a valid number, I see an error message.

  • If supporting is successful, the page will be automatically refreshed and I can see the status of the request, cancel it or navigate the team page.

  • If the request is rejected, I see the status as rejected in the table and can apply it to other teams.

  • If the request is accepted, I see the information page that shows the acceptance, and my budget offering is seen on the team page.

File Status Page Decision Column Not Aligned

Bug Description
The decision column on the file status page is not correctly aligned.

To Reproduce
Steps to reproduce the behavior:

  1. Login to the system
  2. Click on 'Status' in the navigation bar
  3. See error: The decision column is not correctly aligned.

Expected Behavior
The decision column should be centered.

Screenshot

For PC Users:

  • OS: Windows 10
  • Browser: Google Chrome
  • Version: Google Chrome 108.0.5359.99 (64-bit)

Sending a notification to yourself

Location

Notification Screen

Bug Description

When users try to send themselves notifications, they can send them.

To Reproduce

Steps to reproduce the behavior:

  1. Go to 'Profile Page'
  2. Click on 'Notifications'
  3. Try to send a notification to yourself.
  4. See the notification.

Expected Behavior

In an app that works properly, users can't send themselves notifications.

Screenshots
bugreport-1
Users can send notifications to himself/herself.
bugreport2
Here is the incoming notification to the same user.

For PC Users:

  • OS: Windows 10
  • Browser Version: Google Chrome 108.0.5359.99 (64-bit)

Suggested fix:

  • Adjust the backend so that it checks whether the user tries to send a notification to himself/herself.
  • If this is the case, do not send the notification and show an error message.

Teams will be notified about financial status prediction of them

As a team admin, I would like to notified whenever the website predicts my teams financial statuses to go bad in the future, so me and my team can do essential works to fix that negative situation.

Definitions of Done:

  • Team Admins can Login to the portal
  • Team Admin can navigate to file submission page by clicking SUBMIT on Appbar
  • Team Admins can Submit Financial documents and numbers on the file submission page
  • With the given data, a Linear Regression ML model will predict the next month of current months Net Spend.
  • Team Admins of the team whose predicted net spend is positive, will be notified by an E-Mail sent to their registered email address in the system
  • Team Admins of the team whose predicted net spend is positive, will be notified by an InApp notification

Team admins can view the current status of files submitted.

As a team admin, I can see the status of the files I submitted so that I can decide if I need to take legal actions.
Definitions of Done

  • After I am logged in, I can see the 'Status' on the navigation bar.
  • Clicking on 'Status' redirects me to the status page where I can see status of my submitted files
  • I can see the status of each file, with some past ones 'Done' and current ones 'Submitted', 'In Review' or 'Done'.
  • I only see the status of my team's files.
  • If there are no files, the page is empty.

TFF admins can log in.

As a TFF admin, I want to be able to log into my account so that I can see my notifications.

Definitions of Done:

  • TFF admins can enter the dedicated login portal.
  • TFF admins can enter their credentials.
  • TFF admins are notified if they enter their credentials wrong.
  • TFF admins are logged in if they enter their credentials right, and they can see their name on top right corner of the home page.

Team Admins can manage (add,edit,delete) players from a page with their yearly expenses(wage) and check TFF squad rules.

As a team admin, I want to be able to add, edit and delete the players of my team, so I can manage my wage expenses and keep track of TFF limitations such as Forigner Player Rule and can see the impact of wages on my general expenses.

Definitions of Done:

  • Team admins can login.
  • Team admins can visit Edit Team page from the appbar and clickit to redirect to Edit Team Page
  • Team admins can see the Players Page button on their Edit Team Page
  • Team admins can see the squad regulations and rules made by TFF
  • Team admins can add new players to their team
  • Team admins can edit existing players' information as they like
  • Team admins can delete existing players
  • Team admins can see how much each players contributes to total wage expenses.

TFF admins can create and send Penalties to the teams for not uploading or missing a document.

As a TFF admin, I want to be able to create and send a penalty to the teams who are not behaving well financially or not uploading a document, so I can encourage teams to behave TFF and FFP rules.

Definitions of Done:

  • TFF admins can login.
  • TFF admin can click to PENALTY on main menu and redirected to Penalty Page
  • In Penalty Page, TFF admins can see the teams who did not make any submission in that month.
  • In Penalty Page, TFF admins can see the teams' last file submission date in year-month format and teams current budget next to it.
  • In Penalty Page, TFF admins can enter the penalty amount in TL format next to team's name to send penalty.
  • Penalty amount automatically deducted from the current budget of that team
  • An In-App notification sent to the team admins of penalized team.

Users can Send Notificaitons to Each Other

Users can send Notifications to anyone they want who are registered in the DB by their username.

Definitions of Done:

  • I can log in.
  • I am redirected to my profile page.
  • I can click to Notifications tab
  • I am redirected to Notifications page
  • I can send a App Notificaiton by filling the receivers username, subject and message inputs and by clicking send button.

TFF Admins can delete teams from the system.

As a TFF admin, I want to delete teams at the beginning of the season so that I can keep track of desired teams' financial status.

Definitions of Done:

  • I can view the profile page.

  • I can click on "Delete a Team" on the profile page.

  • I am then redirected to another page.

  • There, I can see all teams.

  • There, I can click the delete button for the desired team.

  • If there is a problem while deleting, I see an error message.

  • If deletion is successful, then the team is deleted, admin of the team gets a notification with an email and the page will be automatically refreshed.

TFF Admins can add users to the system to be registered.

As a TFF Admin, I want to be able to send a unique key to a new user so that they can use the generated key in the signup process.

Definitions of Done:

  • I can view the profile page.

  • I can click on "Send Key" on the profile page.

  • I am then redirected to another page.

  • There, I can fill user name.

  • There, I can fill user email.

  • If email is already in use or If a key has been sent to this e-mail before, I see an error message.

  • There, I can fill the user role.

  • If the role is Team Admin and the team name is entered wrongly, I see an error message.

  • There, I can use the automatically created registration key.

  • If the user name or email or role or key is empty, I see an error message.

  • If I submitted everything correctly, then redirected to the profile page.

TFF admin can inform teams for new regulations by email

As a TFF admin, I want to inform the team executives about the new regulations and developments so that the teams can stay up to date and within the financial boundaries.

Definitions of Done:

  • As I logged in as TFF admin, I will click on the new announcement button to write an email for the teams that I would like to get in touch with.

  • I can login.

  • I can view the notifications page.

  • I can click on 'Notifications' on the app bar.

  • I am then redirected to Notifications page.

  • There I will click to "Send Email Notification" Button and redirected to a page with a template

  • There, I can fill an e-mail template to send e-mail notification to whoever I want with the message I choose.

No errors when Empty In-App Notification send

Bug Description
There are no errors or warning messages emerge whenever a user clicks "send notification" button without providing any inputs for parameters in "Notification Page"

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'https://ffp-tracker.herokuapp.com/'
  2. Click Login and provide valid username and password combination
  3. Click on Notifications' on AppBar
  4. Scroll down to 'Bottom of the Page'
  5. Click "Send Notification" button without any parameters
  6. See there are no warnings or error messages shown to user

Expected Behavior
An error message should appear on the screen, saying "You have to provide username, subject and message"

Screenshots
image

For PC Users:

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.