Code Monkey home page Code Monkey logo

bdm_client's People

Contributors

nalawadeanil avatar prasad108 avatar rahulsawale avatar shru95 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

bdm_client's Issues

Deployment configuration for Aws and Godaddy

Steps to create environment ready.

  1. Create EC2 instance
    • change/ apply the security group to allow the RDP connection to VM.
  2. Connect to EC2
  3. EC2 setup
    • Download and install chrome for easy of use. install the Postman plugin in it.
    • Download and install Java 8(JDK), git, maven, Node and then Angular CLI. Set the proper environment variable while installing the software's.
    • Clone both server and Client on the desktop.
    • Download and extract ApacheTomacat on desktop.

Deploy client

  1. Take git pull of latest client code.
  2. Change the outputPath variable in the angular.json . On this path the build files will be created. example "outputPath": "C://Users//Administrator//Desktop//apache-tomcat-8.5.33-windows-x64//apache-tomcat-8.5.33//webapps//BDMClient".
  3. Run the ng build --prod this should create required files in the tomcat "outputPath" folder.
  4. Start the tomcat. after starting we should be able to see the project on the public DNS,
    example
  1. By default tomcat uses the port 8080, so to get rid of this port number we have to make it run on the default http port ie. port 80.
  2. After making the changes for port normally we should be able to access the site without using the :8080. Now we shall be able to access it url like

Deploy the Server

1.Take git pull of latest client code.
2. Run the mvn clean install -Dmaven.test.skip=true. It will create the executable jar in target folder.
3. Set the windows environment variable for selection of prod Profile. example spring.profiles.active=prod. I'm not sure about the exact syntax.
4. Double click and run the jar from target folder. check http://localhost:4321/actuator/health it should show the status up.
5. To stop the server use POST request to http://localhost:4321/actuator/shutdown and it should give show the message 'shutting down, by...', if it gives authentication error put the JWT token in the postman request.


Connect the EC2 to Domain.

  1. In Rout 53 hosted zones, replace the the pulbic DNS and IPv4 Public IP value in the existing hosted zone.
  2. In the Godaddy DNS management of the domain change the A type record value to IPv4 Public IP of EC2.

Challan Settle Feature

Admin should be able to settle the challan

  • after Challan settle, it should become read only.
  • form should collect the information of the expenditure and donation.
  • return Received Amount = Total Amount - expenditure + donation

Basic view for superadmin

  • Add new role in database as superadmin
  • Create new module
  • login redirect to superadmin page
  • superadmin specific nav-bar
  • superadmin related features

create new Inventory (InwardEntry) Challan

Goal

  • create the feature to create new Inventory (InwardEntry) Challan

Implementation strategy

  1. add two columns to the challan table to distinguish it from the user challans
    1. InventoryChalln (Boolean)
    2. added To inventory (Boolean)
  2. add stored Procedure or trigger to Add To Inventory feature
  3. GUI
    1. Show the GUI same as of user challan
    2. Add It should also have the feature to add new book to challan.
      1. admin should be shown the all books available in the global database
    3. show one more extra button for Add To Inventory
    4. Make the challan readOnly after it has be added to the Inventory

Impacts on the other feature

  1. will have to update the trigger on cb_details as it will modify the inventory on addition of the books to the Inventory challan
  2. update all the quires which fetch the challan and check that wheather user realy wants the user challan or the Inventory challan

Add new Book to the Challan

Add new Book to the Challan

Goal

  • Create the New Page to add the new book.
  • Form contents
    • Drop down to select the Book name
    • Select the book type
    • Select the book Language
    • enter the Book rate (by default as per the inventory)
    • Enter the Issued Quantity
  • form validations
    • should show only book name of the books present in the inventory
    • should populate the languages and types only what are present in the inventory.
    • User should not be able to issue the quantity more than what is present in the inventory.
    • should not be able to add the new book which is already present to avoid the redundancy.
    • update the total amount of the challan after successful submission of the new book.

Display Inventory Book stock for center

Goal

  • SuperAdmin, Admin and User should be able to see the number of books present in the inventory.

Description

  • show the Horizontal/ vertical bar chart with number of books in the inventory and total number of the books.

Save the update challan form only if user has changed something

Bug Description
Admin can save the challan update form without changing anything in the form
This does not change anything and does not make any sense.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'challan ->edit -> edit issued book'
  2. Now u can save the form without changing anything.

Expected behavior
User should be able to save the form only if he changes any value.

Search Challan

options by which user can search the challan

  1. Search by challan Id
  2. Issued by me
  3. Issued by
  4. Issued To
  5. Challan status
  6. Date To - From
  • Search feature should work with the pagination.

Add new Book to Challan and Settle the Challan

Description

Admin should be able to add the new book to the challan

  • New page to add the New page,
    • should show the drop down of book name which are present in the inventory.

    • after selecting book name it should populate the book type.

    • then book language .

    • then rate (by default it should be filled with the standard price).

    • user should be able to add the quantity <= quantity of book present in the inventory.

    • initially returned quantity will be by default zero.

    • Admin should not be able to add the existing book

Goal

  • Admin should be able add the new book with easy.
  • Shouldn't be able to issue book which is not in inventory.
  • Inventory quantity of the book should be automatically updated when book is issued and returned

Hypothesis

Admin should be able to complete the whole flow of the challan

  • Add new challan.
  • Add new book to challan.
  • update the issued book.
  • settele the challan.

Acceptance criteria and must have

  • Easy to use, and should not create the conflicts with issued books and inventory.

Timeline

  • Should be done by the end of the first release 3rd Feb 2019.
  • It may depend on the inventory implementation for Admin.

Update the total amount of challan on addition/updation of book

Describe the bug
When the user adds/ updates the book in challan the total amount of the challan is not updated in the DB.

To Reproduce
Steps to reproduce the behavior:

  1. Login as Admin
  2. Go to challans.
  3. Add/ update book in the challan check the db.
  4. You can observe that total amount is not update after making the changes.

Expected behavior
On addition/ updation of the book, immediately challan total should be updated.

Proposed Solution
Create the Trigger and update the challan Total after the successful updation and addition of the new record in the Cb_details table.

Books distributed in between given dates

Procedure to generate report

  1. select the report name from the reports dropdown.
  2. it should show us 2 dates to choose
  3. from date
  4. to date
  5. After submitting the form result should be shown on the same page

###Report Contents

  1. Total number of books distributed in the date range
  2. Individual book count.
  3. It should display the advanced doughnut cart and then detailed pivote table.

User specific challan display list

Task to implement the code for displaying challan list according to the signed in user.
the core side and gui side.
User can able to see list of challans issued by him/her, and detailed view of every challan.

logout user if his token is expired

Describe the bug
Even if the users JWT token is expired user is not logged out.

To Reproduce
Steps to reproduce the behavior:

  1. Login
  2. Wait till token is expired. ( token expiration time is mentioned in application.properties file)
  3. Try to get the different information from back end like challan.
  4. Nothing will get fetched, if you observe the network tab you can see that token is expired and you will get unauthorized request error.

Expected behavior
Use should be logged out if his JWT token is expired.

Probable solution

  1. use of library like JWT for angular.
  2. Best is to go for Auth0 or something like that.

update Inventory

Description

Just like the challans admin should be able to create the challan which will update the inventory

Goal

Admin should be easily able to add the book to the inventory track the inward entry challans and settle them.

Proposed ideas

  • add two columns to the challan table to distinguish it from the user challans
    • InventoryChalln (Boolean)
    • added To inventory (Boolean)
  • add stored Procedure or trigger to Add To Inventory feature

impact on the existing features

  • check and modify all the quires returning the challan.
  • must modify the trigger on cb_details table which updates the inventory.

Timeline

2 weeks

Inventry

Inventry should have following feature

Super Admin side

  • Manage the Books global database
  • CRUD of Language , type , Book Name
  • View and update the new Book Request
  • See the Inventory stock of centers

Admin side

  • create and manage the Inventory Challan.
  • Raise request to superadmin , for new book, if book is not present in global book table
  • Display the Current Stock
    • display the bar graph for the bookwise stock with Total
  • Display some inventory related reports
    • Line chart of book total for last 60 days. (*?)
    • Line chart of specific book for last 60 days.(*?)

User side

  • Display the Current Stock
    • display the bar graph for the bookwise stock with Total
  • Display some inventory related reports
    • Line chart of book total for last 60 days. (*?)
    • Line chart of specific book for last 60 days.(*?)

Add new Challan

##Goal

  • Admin should be able to add the new challan
  • Button on the challan should open a new page with form to add new challan.
    • The form should contain the drop down to select Issued_to user.
    • Rest of the other thing like Issued_By, issued date, total, received, should be filled automatically at the back end.
    • show the floater message for Success/ Failure.
  • After successful submission of the form user should be redirected to the edit challan page.
  • If failed stay on the same page with Floater error message.

Reports

List of reports to be created

  1. BD of the last 30 days/ requested day (bar chart).
  2. BD details of users for requested days (bar chart).
  3. Top 5 book distributors for last X day (bar chart).
  4. Settlement report between requested days (table).
  5. unsettle challan reports (table).
  6. Account Reports.

allow the Admin to update the issued quantity

  • Currently Admin cannot change the issued quantity.
  • while updating admin should not be able to increase the quantity beyond what is present in the inventory.
  • update the inventory after updating issued_quantity.

Superadmin

SuperAdmin

  • Create center and its admin
  • Approve new book request
    • Add/modify book name
    • Add/modify language
    • Add/modify type

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.