Skip to content

Commit

Permalink
Improve README project description & instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
gruvix committed Feb 1, 2024
1 parent b8171f5 commit c86bd1e
Showing 1 changed file with 51 additions and 11 deletions.
62 changes: 51 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,47 @@
# Football teams CRUD proyect
## Description

This proyects implements a CRUD (create, read update delete) of football teams with their data and players
## Expanded Description of Key Features:

### Team Management:<a name="teamManagement"></a>

Create: Add new teams with customized names, properties, and logos (image upload supported).
Read: View a list of your user-specific teams with basic information and optional filtering/sorting.
Update: Edit existing team details (name, description, logo) to keep them current.
Delete: Remove unwanted teams from your list permanently.
Reset: Set a specific team back to its default state, clearing customised information.
Reset All: Reset all your teams to their default states, starting fresh.

### Player Management:

Add: Assign players to specific teams, providing their names, positions, and country of origin.
Edit: Modify player information within a team.
Remove: Take players out of specific teams.

## Technologies

Express
Express-Handlebars
Express-Session
Multer
jQuery
Bootstrap
Cypress
session-file-store
body-parser

## How to use

-Install dependencies `npm install`
-Run the server `npm run dev:templateNodemon`
The server will run on port 8000.
-Access from a web browser to `localhost:8000`
-Login with any name with only letters
-Do teams changes, see [Team and Player Management](#teamManagement)

## Instructions to run the server

`npm install`
For test runs see [Tests](#tests)

`npm run dev:templateNodemon`

The server will run on port 8000.
detailed steps below

## Access URLs
main adress: `localhost:8000`
Main address: `localhost:8000`

Homepage: `/` (GET)

Expand All @@ -41,6 +61,26 @@ Reset all teams: `/user/reset/all` (PUT)

Error page: `/error` (GET)

## Tests <a name="tests"></a>


## Known Limitations:

### Inefficient Team Updates:
Currently, updating teams involves multiple filesystem read/write operations, which can impact performance, especially for large datasets.
Future improvements could explore a database-driven approach for more efficient data management.

### Limited Security:
The app lacks mechanisms to prevent unauthorized access or data manipulation:
User requests are not validated to ensure they only modify their own data.
Password protection is not implemented, making accounts vulnerable to unauthorized access.
### Inconsistent Error Handling:
Lacks a standardized approach for managing errors.
Relies primarily on try-catch blocks with console logging or throwing errors.
User-facing errors are communicated via basic alerts, potentially limiting clarity and guidance.
Future improvements could implement a centralized error handling mechanism for consistent logging, user-friendly messages, and potential recovery actions.

## Credits
[Javascript Course Argentina Programa](https://argentinaprograma.com/)

Expand Down

0 comments on commit c86bd1e

Please sign in to comment.