Admin application for contributors to JavaBin and JavaZone events and organization.
State: Close to feature complete
mvn clean package azure-webapp:deploy
- You need to have an Azure account
- You may need to have the Azure CLI and do
az login
first time - Azure WebApp name is located in
pom.xml
- Start the frontend bundler
cd src/main/resources/webapp
npm install
to install NPM dependenciesnpm start
to start Parcel bundler
- Run
no.javabin.heroes.WebServer
- Go to
http://localhost:9093
- Run the unit tests in Java
- Run
npm test
insrc/main/resources/webapp
to run frontend tests
- Admin can log in using Slack account
- Admin can register a hero with name and email or by import from Slack
- Admin can add achievements to hero profile
- Admin can import heroes from previous conferences and talks
- Admin can request hero to consent to publication
- Hero can log in using email link or Slack account
- Hero can review information about themselves and consent to publishing
- Front page and API lists published heroes
- Self-executable Jar-file with HTTP API (Jetty)
- Authenticate users with Slack (or some external Oauth2/OpenID Connect provider)
- Frontend in React with TypeScript
- Push complexity to infrastructure code and away from domain logic code
- High test coverage on client and server sides
- Add/update personal information must store correct info in database
- Edit achievement must show current information
- Material design frontend
- Material design styling
- Achievement types to be completed:
- Fix date problem with User Group achievements
- All must have an effective date for sorting
- Regionsleder
- Highlight most important/recent achievement
- Display hero Gravatar (or Slack) picture
- Notify hero via email
- Establish session via email link
- Hero can see own information
- One database table per achievement type
- Frontend error handling
- Remove version 0.0.0.1 database tables and code
- Redirect to https (on Azure!)
- Consent in separate table?
- logevents to link to github.com
- fluent-jdbc to abstract away DataSource.getConnection
- DTOs as return values and arguments for controllers
- [.] ApiServlet to have a register-like structure for annotations
- mvn to run
npm test && npm run build
- Use NPM Prettier
- Keep Slack
access_token
andrefresh_token
in encrypted cookie
- Split
HeroControlPanel.tsx
into more files - Remove old admin screen in frontend
- Import JavaZone speakers
- Customize picture
- Import meetup events to associate with JavaBin speakers
- JSON buddy to accept UUID