Giter Site home page Giter Site logo

mykelangelo / bus-depot Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 365 KB

Transport Depo System For Buses Management

Home Page: https://bus-depot.herokuapp.com/login

License: GNU General Public License v3.0

Java 99.12% PLSQL 0.04% CSS 0.28% HTML 0.57%
online depot system for managing your buses

bus-depot's People

Contributors

dependabot-preview[bot] avatar dependabot-support avatar mykelangelo avatar

Stargazers

 avatar

Watchers

 avatar

bus-depot's Issues

Add a form for vacating driver from a bus

AS an admin
GIVEN I am on admin page
AND I select a driver from driver drop-down
AND I click submit button
THEN selected driver should be vacated (not assigned to any bus)

Is NOT addressed in this story:

  • Presenting a view with changes made

Add user correlation id to logs and error pages

For a better troubleshooting, it will be good to identify each user's login separately by correlation id, which will be displayed in error pages.

To do:

  • Save correlation id to session with every login

  • Use Mapped Diagnostic Context (MDC) to display correlation id in logs

  • Show correlation id along with contact info in error pages

Allow admin to delete routes

AS admin
GIVEN I am on admin page
WHEN I select route name from route drop-down in remove route form
AND I click delete route button
THEN selected route is no longer displayed in #4 view of all routes

Add a view of all drivers

AS an admin
GIVEN I am logged in
AND I am on admin page
THEN I see all drivers' full info (email and bus)

Is NOT addressed in this story:

  • Sorting of drivers by any criteria

Allow admin to delete drivers

AS admin
GIVEN I am on admin page
WHEN I select driver from driver drop-down in remove driver form
AND I click delete driver button
THEN selected driver is no longer displayed in #5 view of all drivers
AND the driver should no longer be able to login

Provide localization

AS any user
GIVEN I am on login page
WHEN I select language in language drop-down
THEN contents of all pages are displayed in chosen language

Allow admin to add new routes

AS admin
GIVEN I am on admin page
WHEN I input route name to create route form
AND I click add route button
THEN new route is displayed in #4 view of all routes

Redirect from /go-home

AS admin
GIVEN I am logged in
WHEN I go to /go-home
THEN I should go to admin page

AS driver
GIVEN I am logged in
WHEN I go to /go-home
THEN I should go to driver page

AS any user
GIVEN I am not logged in
WHEN I go to /go-home
THEN I should go to login page

Add login for users

AS a user
GIVEN I am on login page
WHEN I log in
THEN I am on landing page

Allow admin to add new buses

AS admin
GIVEN I am on admin page
WHEN I input bus serial to create bus form
AND I click add bus button
THEN new bus (without route yet) is displayed in #6 view of all buses

Replace magic values with constant strings

  • Create package constant

  • Crete interfaces with all magic text values used in source code

  • Replace magic values with newly created constants both in source and test code

Add error pages

AS any user
IF I cause the 4xx or 5xx status code
THEN I should see corresponding custom error page

Prevent visiting of pages that are not related to logged user's role

AS admin
WHEN I try to visit driver's page
OR I try to submit driver's form
THEN I cannot do that
AND I'm redirected to admin's page OR I see 404 status page

AS driver
WHEN I try to visit admin's page
OR I try to submit any of admin's forms
THEN I cannot do that
AND I'm redirected to driver's page OR I see 404 status page

AS unauthorized used
WHEN I try to visit any driver's or admin's page
OR I try to submit any driver's or admin's form
THEN I cannot do that
AND I'm redirected to login page OR I see 404 status page

Clear production database from e2e-tests data

Having previously used single data SQL-scripts for both e2e-tests and production (continuous deployment at heroku), production database had been polluted with non-production data and when data generating scripts were altered, said database had merely added new data to the old.

Therefore, following must be done:

  1. Push commit with truncating all DB tables preceding data generation

  2. Wait for it to be deployed, so that DB will get rid of old data

  3. Push commit without changes made in 1.

Add a form for assigning a driver to a bus

AS an admin
GIVEN I am on admin page
AND I select a driver from driver drop-down
AND I select a bus from bus drop-down
AND I click submit button
THEN selected driver should be assigned to selected bus

Is NOT addressed in this story:

  • Vacating a driver from a bus
  • Presenting a view with changes made

Add a view of all buses

AS an admin
GIVEN I am on admin page
THEN I see all buses' full info (serial and route)

Is NOT addressed in this story:

  • Sorting of buses by any criteria

Add logout

AS admin
GIVEN I am on admin page
WHEN I click log out button
THEN I am logged out
AND I am on login page

AS driver
GIVEN I am on driver page
WHEN I click log out button
THEN I am logged out
AND I am on login page

AS admin
GIVEN I am on admin page
WHEN I go to login page
THEN I am logged out
AND I am on login page

AS driver
GIVEN I am on driver page
WHEN I go to login page
THEN I am logged out
AND I am on login page

Allow admin to add new drivers

AS admin
GIVEN I am on admin page
WHEN I input email and password to create driver form
AND I click add driver button
THEN new driver (without route yet) is displayed in #5 view of all drivers
AND the driver can login with provided credentials

Allow admin to delete buses

AS admin
GIVEN I am on admin page
WHEN I select bus serial from bus drop-down in remove bus form
AND I click delete bus button
THEN selected bus is no longer displayed in #6 view of all buses

Add adequate logging

  • debug() start&end of every non-trivial method

  • error() instead of every exception thrown

Add a form for assigning a bus to a route

AS an admin
GIVEN I am on admin page
AND I select a bus from bus drop-down
AND I select a route from route drop-down
AND I click submit button
THEN selected bus should be assigned to selected route

Is NOT addressed in this story:

  • Presenting a view with changes made

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.