warehousemanagementsystem's People
warehousemanagementsystem's Issues
Build a component to wrap Object mapping libraries
Currently MapStruct library is being used for mapping entities to DTOs. A better approach would be to create a component that will encapsulate functionality of these libraries. And then this component will be used in the application to achieve mapping. This will help decouple the application code from library specific code.
Add Integration test for Walking Skeleton Display all workers
This will be the first integration test for the application. This integration test will be part of the Walking Skeleton to test the Integration testing setup.
Implement Transfer objects using Object mapping library
Currently Entity classes are used to pass data between layers and to client application.
We need to implement TOs for each Entity object to make persistence layer more loosely coupled to the rest of the application.
Change generation type to sequence
Following will be the changes
- Delete BaseEntity class.
- Use database sequence for generating ids.
Implement SonarCloud integration with travis CI
- Coverage reported will be generated by Jacoco.
- Travis CI will trigger Sonarqube integration on SonarCloud
Configure Travis CI
Implement persistence model for warehouse Item entity
Following needs to be implemented
- Item will be the super class parent.
- Fruit and Vegetable will be sub classes of Item class.
- This will be implemented using strategy InheritanceType.JOINED
Implement custom Exception handling
- Implement custom Exception handling with Spring ControllerAdvice.
- Write unit test in REST services' tests. And also test it in Integration tests.
Refer the link below for testing:
https://reflectoring.io/spring-boot-web-controller-test/
Create development and testing environment configurations
We need to separate the configuration for development and testing environment.
Development Environment:
- H2 database will be used to do the testing.
Testing Environment
- MySql database will be used on Travis CI
Add Unit test to verify request parameters for ItemCategory
This will check if all request parameters are passed to business layer.
Implement logging framwork
Add Flyway for database migration
Database will be maintained using Flyway tool
Save User credentials to database
When new user registers with Username and Password it will be saved to database.
Add unit test cases for REST Controller
Currently we are checking very basic test cases basically related data. Apart from that following test cases should also be considered.
- Test meta data like HTTP method, Content type etc.
- Exception handling.
- JSON response.
The same should be used as reference when creating unit test for other REST controllers.
Add Unit testing & Integration testing setup
This will configure project to run unit tests and integration tests implemented
Add validations for Http request parameters
Following needs to be implemented:
- Validations on Http request parameters.
- Unit tests for validating input request parameters.
Refer the link below for testing
https://reflectoring.io/spring-boot-web-controller-test/
Isolate @WebMvcTest from Spring security
When unit testing @controllers with @WebMvcTest Spring security is enabled by default. This leads to errors as its dependent beans are not available in the context. Ideally mvc unit test should run in isolation from Spring security.
There are a few workarounds to achieve this that need to be tried out.
Issue #17 needs to be closed once this is implemented and corresponding controller tests are in place.
Fix SonarLint issue Use dedicated exception
Implement ItemCategory model for stock module
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.