Coder Social home page Coder Social logo

edwigegc / p6-snowtricks Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 6.7 MB

Community website for snowboard enthusiasts. Each visitor can create an account and manage articles on snowboard tricks, once logged in. Project developed with Symfony 5.2.

Shell 0.98% PHP 80.42% Twig 17.45% CSS 1.15%
bootstrap5 composer css3 doctrine html5 php7 symfony5 twig

p6-snowtricks's People

Contributors

edwigegc avatar

Stargazers

 avatar

Watchers

 avatar

p6-snowtricks's Issues

Code validation

Obtain a "A" score with code climate and improve code organisation

As a user, I want to login/log out easily so I can access to the other features

Create authentification page. The information required into the form are:

  • username,
  • password.

The features is accessible by the navbar with a link to sign in.
When the user is already log in, the linked is replaced by log out link.

Scenario 1:
The user fills the fields required and submits the form: a new session is opened and the user is redirected to the home page of the website.

Scenario 2:
The user forgets to fill one or many fields: he is redirected to the login form and a flash message appears with the type of error(s).

As an registered user, I want to have a link for forgot password so I can create a new password

Create a "forgot password " form to start new password process. The field "username" is required.
And a "reset password" form accessible by a token sent by Email, to create a new password. The fields "username" and "password" are required.

Acceptance criterion:
The user writes his username and submits the form: an email containing a reset token will be sent to the user. This will redirects him to the "Reset password" form via a link.
In this second form the user will write his new password. When the form is submitted, the user is redirected to the home page as an anonymous user.

As an authenticated user, I want to write messages in forum of each tricks

If the user is authenticated, the field "let a comment" is displayed. This field is required to post the message.
The user can post as many messages as he wants.

Scenario 1:
The user is authenticated, writes his message and validate: a confirmation message appears.

Scenario 2:
The user is not authenticated: the "message" box is hidden.

Scenario 3:
The user is authenticated but doesn't fill the "message field before validation: an error message appears and the message is not posted

As an authenticated user, I want to access to a virgin tricks form so that I can add a new one

It is an empty form with different fields required:

  • the name of the trick,
  • its description,
  • its category,
  • its photo(s),
  • its video(s).

This feature can be accessible only by authenticated users.

Scenario 1:
User fill the form and save: the user is redirected to the page listing all tricks with a flash message confirms the registration of his changing.

Scenario 2:
User edits a part of the fields required and save: the user is redirected to the modification form with an error message

As a user, I want to create an account so I can access to the other features

Create a registration page for new user account. The information required into the form are:

  • username,
  • Email address,
  • password.

This feature is accessible by the navbar.

_Acceptance criterio_n:
The user fills all the fields required and submits the form: he receives an Email with a link to click in order to validate and activate his user account. Then he is redirect to the home page of the website with a flash message but he is not authenticate.

As an authenticated user, I want to delete a trick

Features to delete a trick from the database.

When the authenticated user click on the link, a window is displayed to ask the user if "he is really sure to delete the trick (Y/N)"?

Scenario 1:
The user click on "Yes": the trick is delete and will not be displayed anymore on the website.

Scenario 2:
The user click on "No": the windows is closed.

As an authenticated user, I want to access to a trick form so I can modify its information

The form will display all informations concerning this trick:

  • its name,
  • its description,
  • its category,
  • its photo(s),
  • its video(s).

This feature can be accessible only by authenticated users.
The user can:

  • change a field content when he clicks on the pen icon
  • delete a fields content (as text or photo, video) when he clicks on the recycle bin icon

Acceptance criterion:
User edits some fields of the form, delete a photo, a video and save his changing: the user is redirected to the page listing all tricks with a flash message confirms the registration of the changing.

As a user, I want to read messages published in the forum of each tricks

Users who are not authenticated can only read discussions of all the tricks but they can't write a message.
The comments must be paginated (5 per pages) and appear from the most recent to the oldest.
For each comments, this information must be displayed:

  • author's first name
  • author's last name
  • author's photo
  • creation date
  • content of the comment

Chat room is located at the bottom of the trick's details page.

As a user, I want to access to tricks list so I can choose one

Create the home page which displays a list of all tricks (all users can access to this page). 15 tricks load first (the others can be loaded in a second time thanks to a button).
For each trick, a link redirects to trick's details page.

If the user is authenticated, two icons appear:

  • a pen: redirection to 'edit trick' page
  • a recycle bin: to delete the trick

As an authenticated user I want to access to my personal information so I can edit them

Create a management account page in which the user can edit:

  • his photo,
  • his first name,
  • his last name
  • his password (same process as forgot password with Email and link with token)

A link appear on the navbar when the user is authenticated.

Scenario 1:
The user edit one or many fields and submit the form: he is redirect to the home page

Scenario 2:
The user forgets to fill one or many fields or the fields are not valid: he is redirected to the form and a flash message appears with the type of error(s).

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.