manolo / town-hall

Vaadin Builders Challenge Team 3 (Town Hall)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Experiment a Town Hall App developed in Hilla + React

This project still a work in progress.

NOTE: If you want to experiment with SSO in google, you need to configure src/main/resources/application.properties

Running the application

The project is a standard Maven project. To run it from the command line, type mvnw (Windows), or ./mvnw (Mac & Linux), then open http://localhost:8080 in your browser.

You can also import the project to your IDE of choice as you would with any Maven project.

Deploying to Production

To create a production build, call mvnw clean package -Pproduction (Windows), or ./mvnw clean package -Pproduction (Mac & Linux). This will build a JAR file with all the dependencies and front-end resources, ready to be deployed. The file can be found in the target folder after the build completes.

Once the JAR file is built, you can run it using java -jar target/myapp-1.0-SNAPSHOT.jar (NOTE, replace myapp-1.0-SNAPSHOT.jar with the name of your jar).

Docker

You need Docker installed in your computer and running

  1. To create a docker image with the application run
docker build -t town-hall .
  1. To run the app in your local execute
docker run -it -p 8080:8080 --rm town-hall:latest
  1. Then you can access your app in http://localhost:8080

Project structure

DirectoryDescription
frontend/Client-side source directory
    index.htmlHTML template
    index.tsFrontend entrypoint, bootstraps a React application
    routes.tsxReact Router routes definition
    MainLayout.tsxMain layout component, contains the navigation menu, uses App Layout
    views/UI view components
    themes/Custom CSS styles
src/main/java/<groupId>/Server-side source directory, contains the server-side Java views
    Application.javaServer entry-point

Useful links

About

Vaadin Builders Challenge Team 3 (Town Hall)

License:The Unlicense


Languages

Language:Java 57.1%Language:TypeScript 34.3%Language:SCSS 6.0%Language:Dockerfile 1.6%Language:HTML 1.0%