novucs / esd Goto Github PK
View Code? Open in Web Editor NEWEnterprise Systems Development Project
Enterprise Systems Development Project
Tied to #71. This is an additional servlet that allows you to list details, claims and payments about a user.
As a user I need to be able to:
Use a table which allows us to use a Checkbox to multiselect claims for the administrator to approve (or deny).
As per the spec:
An administrator is expected to process outstanding operations raised by the full members including confirmation of the payments, charge the members based on annual lumpsum and membership fee, and assess the eligibility of the members for the outstanding claims.
The improvement on this is allowing for bulk processing, instead of 1 by 1 approval / denials.
@novucs Implement ORM (Object Relational Mapping)
A potential implementation for a PayPal sandbox gateway; unsure as to whether this works on a localhost
development platform, and may have to be tested on https://esd.novucs.net:8080/latest/
for example.
A powerpoint presentation can be used to demonstrate the sprint.
Passwords stored in the database should be irreversibly hashed
Implement different account statuses; we currently have a User status
column that could be used to mark if the account is valid (1
) or suspended (0
). We can check account membership statuses by looking up that data via the Membership
table.
Implement "Account Settings", available to both Users and Administrators.
A workflow for this could be:
Login -> Click user icon at the top right -> Account Settings
As a developer, I would like to publish the services using Docker, so that deployment environments are the same for everybody locally and in production
Docker Images:
* Must be built manually to match version shipped with NetBeans
Since we are frequently editing the database models while testing and redeploying, our local development environments databases are becoming increasingly difficult to test against. To remedy this, all tables should be cleared in the database if an environment variable DEVELOPMENT_MODE
is set to true.
You may assume the system will accept cookies. No threading/concurrency considerations are required. All data must be stored and retrieved from Java DB database.
Ensure all data is retrieved from Derby (Java DB).
Test Plan:
As per the spec, after registering "for [a] membership":
Once this information is submitted, the system should record it and confirm a provisional membership returning a user name and automatically generated password as well as charging him/her with annual membership fee.
Is this optional, or will we have to refactor in order to generate their password?
As per the spec:
Once the membership fee is paid and been confirmed by the office (admin), the person is upgraded to full membership level. Members are suspended if they did not pay annual fee and charges, and will be allowed to resume their membership once they cleared outstanding balances.
I guess we should handle this when we instantiate the User class? Potential workflows to consider:
At the minute, to get the database access objects, a lot of static abuse is required. This is bad code practice and should instead be accessed via J2EE's CDI dependency injection helpers.
APPROVED
X
, i.e. £1250.00
As registered user
I need a login form
In order to login to the website
A powerpoint presentation can be used to demonstrate the sprint.
Login as typical member user (e.g. user = “member1”, password = ”member1”) and create a session lasting for 20 mins. If not a user yet, register as an applicant for membership.
Implement the home page with Menu feature.
Setup a good base repository structure that is compatible with both IntelliJ and NetBeans IDEs for a J2EE web application
#22 currently takes an Address however the specification (Case Study) says that we should only ask for additional information when signing up for a membership:
Registrations for membership require personal information including name, address, date of birth, and date of registration of the applicants. (A web service may/should be used for address lookup purposes).
@G-Pex has already made work on the registration via #59. Is this Address in the correct place?
See Admin’s (management) Dashboard consisting of:-
Implement a Dashboard Interface, accessible for members.
Implement an Administration Dashboard for administrators.
Navigate back-to main page to let change user (e.g. change to admin).
Be able to handle and maintain user sessions.
user_sessions
tableImplement a User lookup, as per the spec:
Search for members based on provided particular information.
Produce a gantt chart to give a high level oversight of our project delivery plan.
As a developer, I would like an ORM implemented, so that future database interactions are simple and less error prone
Note: This ORM must be created with plain Java as Mehmet told us to not use third party libraries for "fairness"
As user
I need a registration form
In order to create an account on the site
Implement Logout functionality
We need to be able to handle permissions correctly on member dependent pages vs. admin dependent pages.
As far as I'm aware:
See member’s dashboard, which consists of:
As a developer, I would like to add a CI/CD (continuous integration/continuous deployment) pipeline for the project, so that the codebase is kept to a good standard
Design:
It is expected that the system uses "Filtering" for authentication purposes, especially for authenticating admin user - a clear example of this would also be favourably considered (“Filtering” is discussed in Chapter 13 of HF book).
User with membership should be able to login, access the member dashboard and view outstanding balance.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.