Skip to content

It is a Social Network where you can find players of your same level to play with. Create tournaments with your friends and compete with them in a friendly way.

License

Notifications You must be signed in to change notification settings

eduvilla97/webapp1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

alt-text

Friends-Padel-Tour

It is a Social Network where you can find players of your same level to play with. Create tournaments with your friends and compete with them in a friendly way.

MEMBERS

Name Email User GitHub
Juan Guillo Bermejo j.guillo.2018@alumnos.urjc.es JGBURJC
Eduardo Ivorra Salinas e.ivorra.2018@alumnos.urjc.es EduardoIvorra
Eduardo Villaverde Espeso e.villaverdee@alumnos.urjc.es eduvilla97
Alberto Morán Cuenca a.moranc.2018@alumnos.urjc.es AlbertoMoranCuenca

STAGE 0

ENTITIES

- Player user:

These are the main users who can control almost all the app. This users will have the posibility to search a teammate to play with, play and search some tournaments, and other aspects such as looking the rankings, move in different screens, change their profile, contact with the developing group and a lot of more.

- Anonymous user:

These users can visit our aplication, but they have some restrictions because they aren't singing in. They can move over the screens and consult different information, however they won't be able to search tournaments and matches or visit de differents categories and rankings.

- Admin user:

This is the secondary user whose main function will be create and organize the tournaments,who always keeps in contact with the companies (Company user).

- Company user:

This user is similar to players, but with the diffence that they can organize some tournaments with admin's help. They have some padel courts that can offer to play the tournaments and making available to play.

- Tournaments:

This entity will be used to organize tournaments where the players can participate. These tournaments will be created by the companies with the help of the admin. (The admin will receive a peticion by a company that wants to create it, and the admin develop and planificate everything according with the information the company has made).

- Matches:

This entity will be very easy to use. In case some of the players want a friendly match only need to request a "Friendly match" until other players want to play versus him. Also include the tournaments' matches.

- Padel Doubles:

This will be used to create and collaborate with other players with the object of forming a new padel double, in case yuo don't have a teammate.

SCREENS

  • Main Screen: This screen will be used to join the rest and to link all the screens. In this screen you can see interesting information about the recent events of padel like tournaments and friendly matches. It's the principal screen of our app.
  • Sign in: The team need a meeting to see what we are going to develop.
  • About us: The team need a meeting to see what we are going to develop.
  • Your profile: The team need a meeting to see what we are going to develop.
  • Search for friendly matches: The team need a meeting to see what we are going to develop.
  • Search Tournamentent: The team need a meeting to see what we are going to develop.
  • Organize a tournament: This screen can be used only by the admin and companies. In the screen you could organize a tournament,

EXTRA FEATURES

Our team has decided to implement one extra funcionality. When somenone win a tournament the app is going to give a prize to the winner user in the form of diploma. This diploma is going to generate a PDF that permits winners to download, keep and print it.

ALGORITHM USED

The developing team is going to create an algorithm which automatically generates a ranking taking into account the player points and victories, even the category's player that is taking part for. The ranking is going to display in one of the screens we have created and the rest of users can see all the results and stadistics the top players have. The ranking is going to be updated everyday and will show all the changes which have been produced.

GRAPHICS

STAGE 1

In this stage we have made all the templates and design of the web. Then, we are going to include the screenshots of every screen and the navigation that every user can do in the web.

SCREENSHOTS

- Previous signUp

This screen will be used for all the users that want to sign up in our App. There are 2 differents users, bussiness user and normal user. alt-text

- User signUp

Screen where the user can create his profile through a form and create a new account. alt-text

- Bussiness signUp

Screen where the bussiness users can create his profile through a form and create a new account. alt-text

- Login

This screen will be used when the users have an account and need to login and enter in our application alt-text

- Main page (Index)

This is the principal page where all the users can access, even the anonymous users. In this page you can navigate to all the screens. alt-text

- User profile

All the users have a profile where they can see all their information and also edit their profiles. alt-text

- Bussiness profile

This is the bussiness profile, where this user can edit his profile and see all his information. alt-text

- Friendly matches

In this screen the user can choose a Division according to his level, and the user will navigate to other screen (1st-6th Division, depending on the division he choose) alt-text

- 1st-6th Division (team - team6)

The user can join to a friendly a match in this screen and also create a new one through a form. In this case we are going to add only one screen because the others are the same the only difference are the names and the divisions. alt-text

- Tournaments

In this screen the user can join and see tournaments. Previously, the admin user need to accept the tournament which has been created by the bussiness user in Tournament Request screen. alt-text

- Tournaments Request

In this screen the bussiness user can create a tournament. Only they need to fill a form and send it. The tournament will be created when the admin accept that tournament. alt-text

- About Us

Very simple screen where the team explain the main functions of the app and also different information about us. alt-text

- Tournamentent management

In this screen the admin user can see all the tournament requests and accept all the tournaments the admin consider appropiated. alt-text

Navigation Diagram

alt-text

STAGE 2

Development direction:

  • Repository: https://github.com/CodeURJC-DAW-2020-21/webapp1
  • Development tools: Visual Studio Code, Spring Tool Suite4
  • Dependencies: PDFGenerator, MySQL connector
  • Follow the next steps to execute the files:
  • Open the project with your development tool
  • Start a MySQL service in the local host in the port 3306 with a schema called "fptdb"
  • Start running the application
  • Enter from a browser to: https://localhost:8443

DEMO

  1. Anonymous user browsing the screens, we see that he cannot access certain functionalities
  2. Register with business (Explain about the tournaments)
  3. Login with player username2 (password2)
  4. View profile
  5. Modify image, password and division
  6. See graph (related to the games played, etc)
  7. Go to the ranking and show that you can access another user's profile but you cannot edit it (if you access yours, yes)
  8. Create party
  9. Join party, join with the couple
  10. Log out and see that you cannot access certain functionalities
  11. Register a new player and join the previous match individually
  12. Download PDF of friendly matches
  13. Log out and join as admin
  14. Manage tournaments, see tournaments managed, pending, accept and reject.

Entity–relationship DATABASE model

alt-text

Class and template diagram

alt-text

5 COMMITS

Name Github user 1 2 3 4 5
Juan Guillo Bermejo JGBURJC Security Configuration HTTP conexion and control users CSRFHandlerConfiguration DataBaseUsersLoader Errors and fix comments (TEMPLATES)
Eduardo Ivorra Salinas EduardoIvorra Graphics Controllers and changes PDFgenerator Alghorithm ranking Profile
Eduardo Villaverde Espeso eduvilla97 MySQL Modelation Join match, join tournament and player profile Delete match, choose winner.., Sign Up and Use of users
Alberto Morán Cuenca AlbertoMoranCuenca Ajax Tournaments Creation and elimination Bussiness user Tournaments sevice and repository Bussiness profile

STAGE 3

API documentation:

Java code with SpringDoc

We are going to have a link that use rawgit that pemit to see all the information related with the API: https://rawcdn.githack.com/CodeURJC-DAW-2020-21/webapp1/f133949a8e1baa305bbe714e712552940d34ee48/FriendsPadelTour/friends_padel_tour/api-docs/api-docs.html

api-docs.yaml:

https://github.com/CodeURJC-DAW-2020-21/webapp1/blob/main/FriendsPadelTour/friends_padel_tour/api-docs/api-docs.yaml

Class diagram (Updated):

alt-text

BUILDING A DOCKER IMAGE AND RUNNING THE WEB APPLICATION

¡The only requirements to use the app are docker and docker-compose on your own machine!

  1. If the project is in your machine and you are on the directory webapp1.

Go to the cmd and use the following script:

If you are a linux user --> $ bash run.sh

If you are a windows user --> $ run.bat

  1. If you don't have the project on your machine, open your terminal and execute the next steps:

2.1 mkdir FriendsPadelTourApp 2.2 cd FriendPadelTourApp 2.3 git clone https://github.com/CodeURJC-DAW-2020-21/webapp1 2.4 Go to step 1

DockerHub link: https://hub.docker.com/repository/docker/jgburjc/friendspadeltour

Members Participation

Eduardo Villaverde Espeso

Number Description Commit
#1 ApiDocs Commit
#2 Api Match Controller Commit
#3 Fixing bugs Commit
#4 Integration with the ApiRest Commit
#5 Performed general improvements Commit

Juan Guillo Bermejo

Number Description Commit
#1 ReadME Commit
#2 ApiUsersController Commit
#3 Fixing bugs, general improvements Commit
#4 Downloading and uploading images with ApiRest Commit
#5 Security for ApiRest Commit

Eduardo Ivorra Salinas

Number Description Commit
#1 ApiTournaments Commit
#2 Docker Commit
#3 ReadME Commit
#4 General Improvements Commit
#5 Docker-compose Commit

STAGE 4

WEB IMPLEMENTATION WITH SPA ARCHITECTURE

Development environment preparation:

SPA: Class and templates diagram:

CLASS AND TEMPLATE DIAGRAM

Members Participation

Eduardo Villaverde Espeso

Number Description Commit
#1 Matches Commit
#2 User profile Commit
#3 Fixing bugs Commit
#4 SPA Controller Commit
#5 Last details Commit

Juan Guillo Bermejo

Number Description Commit
#1 Tournaments Commit
#2 ReadME Commit
#3 Fixing bugs Commit
#4 Uploading images Commit
#5 General improvements Commit

Eduardo Ivorra Salinas

Number Description Commit
#1 SignUp Commit
#2 Register Commit
#3 Charts Commit
#4 Docker Commit
#5 Bugs and general improvements Commit

About

It is a Social Network where you can find players of your same level to play with. Create tournaments with your friends and compete with them in a friendly way.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •