personregistry's People
personregistry's Issues
Plantuml docs and screenshots of UI
We should use plantUML to document the system. We should have a plantuml diagram of the following:
- CI/CD pipeline
- Communication from user to AWS ECS cluster
- API and data model
Screenshots of the UI for usage in showcases:
- Default ui
- Messages when list is stored
Deploy to AWS
Should investigate whether it is feasible to deploy to AWS ECS using github action.
We probably need to push image to AWS ECR and call CodeDeploy from workflow
Gets HTTP 400 from backend when name contains whitespace
The validation of name is too strict. It should be allowed to provide a name as such: "Will weaton". The backend fails on the whitespace in the middle
DoD:
- Whitespace is allowed in name
Data table from vuetify
The current UI for the frontend is always in "edit mode". It would look better and be better UX if by default the list was in "view mode" and each row is editable by the click of a button. Same goes for delete. Component data-table satisfies the needs mentioned.
We should keep reload and save buttons to preserve the current draft functionality.
Example from vuetify:
https://vuetifyjs.com/en/components/data-tables/basics/#crud-actions
CORS remove configuration for local
In order to get frontend and backend running when not using docker, ie. yarn run dev
we had to add @crossorigin annotation for PersonlistController
We need to figure out a better approach, possibly properties in spring boot
Frontend does not reload state when submitting which could cause to multiple duplicate entries
If you add a new person and submit, then does the same again one ends up with multiple registrations. The reason is not updating persons state after submitting
Integrate frontend with backend
DoD:
- Frontend uses axios or equivalent library to call API
- Changes to person should persist between reloads of the site
Initial setup frontend and backend
DoD:
- Frontend vue app is in main
- Backend spring boot app is in main
- Both builds to a deployable image
Prototype of frontend
We should make the first iteration of the frontend by using local state without backend.
DoD:
- Should list out predefined persons
- Should be able to edit both age and name
- Should be able to delete a person
- Should be able to add new person
- When reload and submit is clicked there should be a spinner icon to simulate backend calls(no api calls will be made)
Spring security and basic auth
We should showcase basic auth in backend and frontend. Ideally one would implement OAUTH2 or openid connect, but since we do not have a database now we should use basic auth as a first iteration.
DoD:
- Login screen ui
- Backend has a fixed user that can be used with basic Authorization header. The user will be configured at build time when github workflow is running, which means it needs to be configurable through spring boot properties
First iteration of backend
The backend can be made separately of the frontend.
DoD:
- Design API for persons that should be RESTful, should have endpoints for CRUD
- Each person should have a unique ID. We should assume that there can be persons with the same name in a possible future
- Persons should persist in memory
- Test for controller. Should not mock service
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.