Repo for CSC 480 HCI 521 class of fall 2024
Frontend: React with Vite and JS, Tailwind css, and Shadcn for the UI library
Backend: OpenLiberty, MicroProfile, and SQLite
- Sign into github
- Navigate to Settings->Developer Settings->OAuth Apps
- Click New OAuth App
- Fill in
- Application Name (anything is fine)
- set Homepage URL to
https://localhost:9443
(9443 or the auth-service https port found in <liberty.var.https.port> if you changed it) - set Authorization callback URL to
https://localhost:9443/ibm/api/social-login/redirect/githubLogin
(again the auth-service https port)
- Click Register application
- Click Generate a new client secret
- Copy the client secret and store it somewhere
Create a new file at /backend/auth-service/src/main/liberty/config/server.env
and put
GITHUB_CLIENT_ID=<your OAuth app's client id>
GITHUB_CLIENT_SECRET=<your OAuth app's client secret>
Prerequisites: make sure you have mvn and npm (or yarn/bun) installed
In the root directory run:
.\start_website.bat
./start_website.sh
the webpage will be served at http://localhost
WARNING: the website does not work on safari we will attepmt to fix it at a later date
🔥🚀🎉 NEW! 🔥🚀🎉 just do q+enter in the vite terminal, we'll auto shutdown the backend
if you ctrl+c out of habit you can still run:
.\stop_website.bat
./stop_website.sh
Unfortunately, OpenLiberty is allergic to .env files, so two configuration files, /backend/pom.xml and /frontend/.env, must be used and kept in sync.
I'm really trying to find a better solution
the configuration options are
- auth-service port: <oz.auth.port> and VITE_AUTH_ROOT
- database-service port: <oz.api.port> and VITE_API_ROOT
- frontend port: <oz.frontend.root> and VITE_FRONTEND_PORT