FutJoin is my end-of-degree project for The University of Malaga and introduces a web application which allows to schedule your own amateur football games, booking from a variety of football pitches across sporting centers in Malaga.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
This end-of-degree project introduces a web application which allows to schedule your own amateur football games, booking from a variety of football pitches across sporting centers in Malaga. The development of the app is characterised by the homogeneity of JavaScript, given expression in the MEAN stack, which is formed by technologies Mongo DB, Angular, Node.js and Express. This way, application users would be able to check for the schedule availability of the fields at all times and, through a neat and simple graphic interface, interact with each other to organise games and invite new players. Each user will enjoy of a profile in which his personal details are listed (name, email, date of birth), as well as his footballing details (stronger foot, position of play or height) that can be seen by other users.
Furthermore, the sport centers that cooperate with the app will offer a list of all the available pitches, along with their characteristics and timetables.
- PC with operating system: macOS, Linux or Windows.
- MongoDB (https://docs.mongodb.com/manual/installation/)
- NodeJS (https://nodejs.org/es/download/)
- npm
npm install npm@latest -g
- Angular
npm install -g @angular/cli
- Clone the repo
git clone https://github.com/jboned/FutJoin.git
- In the 'Backend' folder, install NPM packages:
npm install
- Start the Node JS Backend application:
npm start
- In the 'Frontend' folder, install NPM packages:
npm install
- Start the Angular Frontend application:
npm init
IMPORTANT: For the correct functioning of the client, once the command has been executed, copy and paste the "ngx-carousel-3d" folder into the "node_modules" folder created in the "Frontend" folder
On the login screen you will find the application's logo and the login form, along with the options to register in the application and to contact the the login form, along with the options to register in the application and to contact the application in case the user is a sports center.
On the login screen you will find the application's logo and the login form, along with the options to register in the application and to contact the the login form, along with the options to register in the application and to contact the application in case the user is a sports center.
This menu will show the different sports complexes that collaborate with the application and that the user can access to organize a soccer match. Each sports center will have different football fields available for reservation.
Each football field has a personalised schedule with the free hours and app users can book the pitch and invite other app users. Users can choose whether they want to have a private match or free registration.
- Users
- Login/Logout
- Register
- Profile
- Hashing passwords
- Sports center
- Create new sport center in the app.
- Delete an existent sport center
- Carousel with sport centers. (for users)
- Fotball fields
- Create/Delete/Update fields (for Sports centers)
- List of Fields of Sport Center (for users)
- Custom schedule for each Sport Center
- Matches
- Create/Delete public/private Match
- Join to public match
- Invite other players (users)
- Join to private match (with invitation)
- Change private match to public.
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Project Link: https://github.com/jboned/FutJoin