Loading repository data…
Loading repository data…
mrin9 / repository
Moduler Java, Embedded Tomcat, Jersey, Vue, Vue3, Composition API, PrimeVue, Restfull WebApp
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Application to demonstrate various parts of a service oriented RESTfull application.
Allow about 2-3 mins for the instance to start
| Component | Technology |
|---|---|
| Backend Lang | Java 11 (with modules) |
| Restfull Framework | Jersey |
| Container | Tomcat 9 (Embeded Mode) |
| Server Build Tools | maven 3.5.4 (Creates a Executable Jar with embeded tomcat) |
| Security | Token Based (JWT ) |
| REST Spec | Open API Standard |
| In Memory DB | H2 |
| Persistence | JPA (Using Hibernate) |
| Frontend | Vue JS |
| Client Build Tools | vue-cli, Webpack, yarn |
Ensure you have this installed before proceeding further
PROJECT_FOLDER
│ README.md
│ pom.xml # Parent maven project (contains other sub projects)
│
└──[database] # Java-Project/Java-Module (contains H2 database related services )
│ │ pom.xml
│ └──[src]
│ └──[main]
│ └──[java] # java source files
│ └──[resources]
│ schema.sql # Contains sql script to generate database tables and views in H2
│ data.sql # Contains sql script to fill the tables with sample data
│
└──[web-api] # Java-Project/Java-Module ( The Main WebApp contating RESTfull APIs )
│ │ pom.xml
│ └──[src]
│ └──[main]
│ └──[java] # java source files
│ └──[resources]
│ └──[webapp] # files/folders under webapp is accessible from web-browser
│ └──[ui] # maven build script would copy web-ui/dist into this folder, to make UI available from the browser
│ └──[api-docs] # contains swagger-ui source for API documentation and try-out
│
└──[web-ui] # A regular folder that contains VueJS based UI source code
│ │ package.json
│ │ vue.config.js
│ │ package.json
│ └──[node_modules] # files under this is downloaded by 'yarn install' command
│ └──[dist] # VueJs source is compiled, bundled and minified into this folder
│ └──[src] # contains ui source code
# run these commands from web-ui folder
yarn install
yarn build
# run these commands from root folder where top-level pom.xml is present
# build the web app
mvn clean install
# Run The App
java -jar ./web-api/target/modules/web-api-1.0.0.jar
| App Component | URLs |
|---|---|
| URL for the web app | http://localhost:8080 or http://localhost:8080/ui/index.html |
| URL for API Docs | http://localhost:8080/api-docs/index.html |
| BaseURL for REST APIs | http://localhost:8080/api |
Help me to host this app on AWS or Google-Cloud, for everyone to checkout the app. [Become a backer]
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]