Giter Club home page Giter Club logo

ita-social-projects / greencity Goto Github PK

View Code? Open in Web Editor NEW
64.0 64.0 80.0 24.71 MB

The main aim of “GreenCity” project is to teach people in a playful and challenging way to have an eco-friendly lifestyle. A user can view on the map places that have some eco-initiatives or suggest discounts for being environmentally aware (for instance, coffee shops that give a discount if a customer comes with their own cup). А user can start doing an environment-friendly habit and track their progress with a habit tracker.

License: MIT License

Java 83.17% HTML 11.39% CSS 1.58% JavaScript 3.59% PLpgSQL 0.20% Dockerfile 0.01% Procfile 0.01% Go 0.06%

greencity's People

Contributors

0lezhka avatar abbondar avatar airetok avatar danylohlynsky avatar dmytrodovhal avatar forestik avatar greatpanda1603 avatar gun41k avatar helensotnik avatar iamlanar avatar mardatsko avatar mariandiakiv avatar markiyan000 avatar olenapetryshak avatar ospodaryk avatar rinagoroh avatar romanzahorui avatar rostyslavkhasanov avatar sashkomolodec avatar skajl-dev avatar skyere avatar taraskovaliv avatar v-la-d avatar viktoriyaryazhska avatar volodjatur avatar yura09 avatar yurii-midianyi avatar yuriikoval1997 avatar yuriizhurakovskyi avatar zakharskaletskyi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

greencity's Issues

Sign in the application

As Unregistered user, I want to sign in the application so that I can have a view of site as Registered user.

Acceptance criteria:

  1. WHEN Unregistered user access the application THEN he/she can see "Sign in" button on the right upper corner of the site.

  2. WHEN Unregistered user click on "Sign in" button THEN, he/she can see new page with the next fields to enter:
    a. Login (placeholder - Email address)
    b. Password (placeholder - Password)
    c. "Sign in" button

  3. WHEN Unregistered user fills in required fields and clicks "Sign in" button, THEN he/she is navigated to "Home page" as Registered user.

Assumptions:
related to #136

Approve/decline proposed cafes

As an admin I want to be able to approve or decline proposed cafés.
Mockups:

Acceptance Criteria:

  1. Provided there is at least one unapproved cafe in the list of proposed cafes, system shall display 2 buttons "Approve" (green) and "Decline" (red) to the right of the respective cafe description.

  2. Provided admin approved a proposed cafe, by clicking on the "Approve" button AND it was successfully approved, then system shall:
    a. remove the item from the list of proposed places
    b. add the item to the list of approved places
    c. add the place to the map
    d. display a notification flash message "Approved" (green color) at the top of the screen (it shall disappear in 3 seconds)

  3. Provided admin approved a proposed place AND it was not successfully approved due to a system or other error, then system shall display a notification flash message "Error. Item was not approved. Please try again" (red color) at the top of the screen. (the item shall not disappear from the proposed list.

  4. Provided admin declined a proposed place, by clicking on the "Decline" button, then system shall:
    a. remove the item from the list of proposed places
    b. add the item to the list of declined places
    c. display a notification flash message "Declined" (green color) at the top of the screen (it shall disappear in 3 seconds)

  5. Provided admin declined a proposed place AND it was not successfully declined due to a system or other error, then system shall display a notification flash message "Error. Item was not declined. Please try again" (red color) at the top of the screen. (the item shall not disappear from the proposed list.

Assumptions and Constraints:

this user story is related to user story #24

TBD:

Access to cafe detail information

As an unregistered user I want to be able to access to the detail information about a place on the map so that I can choose the place to go.

Mockups:
image

Acceptance criteria:

  1. WHEN Unregistered or Registered user clicks on the one of test places, THEN he/she should be able to see small pop-up with detailed info about place (test data):
    a. Name
    b. Address (City, Street, Number of building)
    c. Working times (day; hh:mm-hh:mm)
    d. Discount
    e. Feedback
    f. Unactive star-icon in order to add this place to Favorites (as Registered user)

Assumptions and Constraints:
This User story is related to user story #20

Access application with a map and sidebar list

As an unregistered user I want to access the application, so that I can see a map with places on the right side and a list with places on the left side of the window.

Mockups:
image

Acceptance Criteria:

  1. WHEN Unregistered user access the site, THEN system should navigate him/her to the main page of website with:
    a. Map zoomed out to area of Lviv
    b. List of places (Names)

  2. Test places are on the map

  3. System allows to zoom in/out a map.

  4. Sidebar list of cafes include names of test cafes and their address.

  5. List of places should be sorted by name.

  6. Test cafes, which are in the list of sidebar should be visible on the map in parallel.

TBD:

  • Research best map to integrate with a website??

List of Places

As an admin I want to see the list of Places, so that I can approve/decline them later.
Mockups:
image

Acceptance Criteria:

  1. WHEN an admin user navigates to the tab "Places" in the admin page, THEN an admin shall see them in a table list;

  2. The list of Places shall contain the following columns:
    a. "Category"
    b. "Name"
    c. "Address"
    d. "Working times"
    e. "Added by" (login of user who proposed a place)
    f. "Added on" (date of proposed place)
    e. "Status" (Proposed/Approved/Declined)

  3. System sorts records in the list of places by date added (newest at the top) and status by default.

  4. System shall display data in the columns as follows:
    a. category (dropdown list with data)
    a. name - free text (max # of chars = 30)
    b. address - free text (max # of chars = 30)
    c. working times - time range in format "HH:MM-HH:MM"
    d. added by - user login (email)
    e. added on - in format "DD.MM.YY HH:MM"
    f. Status - dropdown list (Proposed/Approved/Declined)

  5. The table can have a maximum number of record rows that can fit on a page. There shall not be a scroll.

  6. Provided there are more record rows that can fit the page, system shall display a page counter and buttons "Previous", "Next" at the bottom of the page.

  7. GIVEN user is on a page AND there is a page counter and button "Previous" or "Next" respectively, WHEN

  • user clicks on "Next" button, THEN system shall navigate him to the next page
  • user clicks on "Previous" button, THEN system shall navigate him to the previous page.

Assumptions and Constraints:

  1. this user story is related to user story #23
  2. page selector is currently out of scope of this user story

TBD:

See a sidebar list of cafes near the map

As an unregistered user I want to see a sidebar list of cafes near the map, so that I can view them outside of the map.

Mockup:
image

Acceptance Criteria:

  1. WHEN Unregistered user accesses the website, THEN on the left side of the window he/she can see the list of test cafes.

  2. Sidebar list of cafes include names of test cafes and their address.

  3. List cafes should be sorted by name of cafe.

  4. Test cafes, which are on the list in sidebar should be visible on the map in parallel.

Assumptions and Constraints:
This user story is related to user story #20

Access admin page for moderation

As an admin I want to access admin page, so that I can moderate the cafes on the map/list.

Mockups:
image
image

Acceptance Criteria:

  1. GIVEN admin user is successfully logged in to the system, WHEN he clicks on "Admin" button, THEN system shall navigate him to the admin page.

  2. The admin page shall contain the following tabs at the top of the screen:
    a. Users
    b. Places

  3. When admin clicks on a tab, system shall navigate him to it.

Out of scope:
list of places and users are out of scope of this story

Register in application with credentials

As unregistered user I want to be able to register so that I can have wide access to the application (save favorite places in a profile, leave a feedback for a place).
(new version #385 )

Mockups: https://www.figma.com/file/JvDAu4MHnh1Vxc5FaokyiA/ITA-UBS-styles?node-id=12201%3A4

Acceptance Criteria:

  1. WHEN Unregistered user accesses the main page of application, THEN on the upper right side of the window he/she can see "Sign Up" button.

  2. WHEN Unregistered user clicks on the "Sign Up" button, THEN he/she can see popup with the next fields to fill in:
    a. First Name (max chars 20)
    b. Last Name (max chars 20)
    c. Email Address (with check of existence @....com in filled in text)
    d. Password
    All fields, mentioned above, should be obligatory to enter.

  3. Criteria to create a password should be the next:
    a. Be a minimum of eight (8) characters in length
    b. Contain at least one (1) character from three (3) of the following categories:
    c. Uppercase letter (A-Z)
    d. Lowercase letter (a-z)
    e. Digit (0-9)
    f. Special character (~`!@#$%^&*()+=_-{}[]|:;”’?/<>,.)

  4. WHEN Unregistered user fills in all necessary fields AND clicks "Sign Up" button, THEN he/she see popup with text "You successfully registered on this site. Please verify your email address in mailbox". And at once unregistered user should receive a verification email about registration in the application to his/her email address, mentioned in form.

  5. Verification email is active during 24 h after registration.

  6. When Unregistered user clicks "Verify Email" button, THEN system should navigate him/her to the initial application's page with "Sign in" button available.

related: #3964 - successful registration message

Propose new cafe

As a registered user I want to propose a new café to be added to the map/list, so that information about cafes is up-to-date and full.

Mockups:

Acceptance Criteria:

  1. GIVEN a registered user is successfully logged in to the system, WHEN he clicks on "Add place" button at top right corner of the screen, THEN system shall open a modal window with the following:
    a. input field "Type"
    b. input field "Name"
    c. input field "Address"
    d. input field "Working times"
    e. Buttons "Add" and "Cancel"

  2. Provided user clicks on field "Type", system shall open a drop-down with the following elements:
    a. Cafe
    b. Restaurant
    c. Add new

  3. Provided user selects "Add new" option in the Type field, system shall let him enter a new type of place.

  4. Fields "Name" and "Address" shall be char + digit fields. User can input max number of 30 chars into each field.

  5. Provided user clicks on "Working times" field, system shall open a pop-up, where user has to choose opening and closure times. There shall be buttons "OK" and "Cancel".

  6. All fields are mandatory to be populated. Provided at least one field is not populated, then "Add" button shall be disabled.

  7. Provided user clicks on "Add" button, system shall close the modal window, add the proposed place to the system and display it in the "Proposed places" tab of the Admin page.

  8. Provided user clicks on "Cancel" button, system shall close the modal window and not save data entered in the fields (if any).

Assumptions and Constraints:

TBD:

Creation of new place as Admin

As Admin I want to create new place so that it will be shown on the list of Places and map.

Mockup:
image

Acceptance criteria:

  1. "Create new place" button is available on the "Places" tab.

  2. WHEN Admin see "Places" tab, THEN he can click on "Create new place" button.

  3. WHEN Admin clicks "Create new place" button THEN he can see popup with next fields:
    a. input field "Type/Category"
    b. input field "Name"
    c. input field "Address"
    d. input field "Working times"
    e. "Save" button

  4. WHEN Admin fill in all required fields for new place and clicks "Save" button THEN he/she can see newly created place on the top of the list on Places tab.

Register in application with Google account

As unregistered user I want to be able to register with Google account so that I can have access to the application without creation of credentials.

Mockups:
https://www.figma.com/file/JvDAu4MHnh1Vxc5FaokyiA/ITA-UBS-styles?node-id=12201%3A4
Acceptance Criteria:

  1. When Unregistered user clicks "Sign up" button, THEN he/she can have an option with "Sign up with Google" button to register the application with Google account.

  2. When Unregistered user clicks "Sign up with Google" button, THEN he/she should see fields where he/she can enter their email address and password.

  3. When Unregistered user clicks "Submit" button, THE he/she should see the application as Registered user in case of successfully sign up.

Assumptions and Constraints:
TBD:

Moderate registered users

As an admin I want to be able to moderate registered users.

Mockups:

Acceptance Criteria:

  1. Provided admin navigates to "Users" tab in the admin page, system shall display the list of all registered users.

  2. The list shall be in a form of a table and shall contain the following columns:
    a. E-mail address
    b. First name
    c. Last name
    d. Date of registration
    e. Actions

  3. Actions column shall contain the following buttons:
    a. "Block"
    b. "Make Admin"
    c. "Deactivate"
    d. "Unblock"
    e. "Activate"

  4. Records in the list shall bu automatically sorted in alphabetical order (A-Z) by the E-mail address column.

*5. The table can have a maximum number of ??TBD?? record rows on a page. There shall not be a scroll.
6. Provided there are more record rows that can fit the page, system shall display a page counter and buttons "Previous", "Next" at the bottom of the page.

Assumptions and Constraints:

TBD:

Search for entry by name

As an admin I want to be able to search for particular items within the Admin page, so that I can easily find needed items.

Mockups:
image
*TBD for field width and location

Acceptance Criteria:

  1. System shall display a search input field in the Admin page.
  2. After entering search criteria, Admin can initiate the search action by:
    a. pressing "Enter"
    b. clicking on the magnifying icon in the search field
  3. Provided admin entered search criteria into the search field and initiated the search, system shall do search within the active tab in the Admin page. (e.g. if admin is in "Approved places" tab - system shall search only within this tab. To search within other tabs, admin needs to navigate to other tabs)
  4. Search shall be available without any restrictions as to input criteria (letters, digits, symbols), EXCEPT for blank search criteria (i.e. provided admin clicks the magnifying icon when there is no search criteria, system shall not initiate search).
  5. Search action shall do search by means of "contains" parameter AND within all columns (i.e. given there is "Intempo" entry and admin searches for "int" - system shall display the result + any other possible results which include "int")
  6. Provided there is(are) items that are identified by the search criteria after admin initiates search, system shall display them within the tab in alphabetical order (A-Z). System shall display the whole entry row.
  7. Provided there is no item identified by search criteria after admin initiates search, system shall display message "No matches found" within the tab.

Assumptions and Constraints:

TBD:

Save places to Favorites

As a registered user I want to be able to add available places to Favorites, so that I can easily find them in one convenient place.

Acceptance Criteria:

  1. Provided a registered user opens a Detail View pop-up of a place on the map (by clicking on a place on the map), system shall display a Star (i.e. Favorites) icon (white, unfilled with color) at the top right corner of the pop-up.

  2. GIVEN the Star icon is unfilled with color, WHEN user clicks on it, THEN system shall fill the Star icon with color (yellow) AND save the place to the user's Favorites list.

  3. GIVEN the Star icon is filled with color (yellow), WHEN user clicks on it, THEN system shall make it unfilled with color (blank) AND remove the place from the Favorites list.

  4. Provided a registered user has at least one saved favorite place, system shall display "Favorites" button near the map.

  5. Provided user clicks on "Favorites" button, system shall open the Favorites modal pop-up (over the map) which shall include:
    a. header "Favorite places"
    b. list of all user's saved favorite places.

  6. Provided user clicks on a place from the Favorites list, system shall
    a. close the modal pop-up
    b. display this place as selected on the map

  7. Only on place can be selected at a time.

  8. Available actions for user within the Favorites screen shall include:
    a. edit name of saved place, by clicking on "Edit" button next to a place. Max number of characters for a name = 30
    b. delete saved place, by clicking on "Delete" button next to a place

Assumptions and Constraints:

  1. related to #26
  2. TBD - provided user has a list of saved favorite places - they shall be displayed on a map by a star icon (instead of default icon) - separate story #167

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.