A way to manage large-scale meetups for Tex Mechs.
This project is split into two portions:
- The backend that sets up a REST API to query the database (PostgreSQL by default)
- The frontend React application with the UI to interact with the data
-
Install PostgreSQL and create a user and database that the user has access to.
-
Install Liquibase. This will be used for version control of the database schema.
-
Create a file named
liquibase.properties
indb/changelog
with the following:driver: org.postgresql.Driver url: jdbc:postgresql://localhost:5432/<database name> username: <database username> password: <database password> changeLogFile: changelog.sql
-
Setup the database schema using Liquibase by running the following:
cd db/changelog liquibase update
-
Install dependencies.
cd backend npm install
-
Create a
.env
file inbackend/
in the following format (Ports may change depending on database used/personal preference):MMS_API_SERVER_HOSTNAME=localhost MMS_API_SERVER_PORT=3000 MMS_AUTH_SERVER_HOSTNAME=localhost MMS_AUTH_SERVER_PORT=3001 MMS_SOCKET_SERVER_HOSTNAME=localhost MMS_SOCKET_SERVER_PORT=3002 MMS_API_URL=http://localhost:3000 MMS_SOCKET_URL=http://localhost:3002 MMS_DATABASE_HOST=localhost MMS_DATABASE_PORT=5432 MMS_DATABASE_NAME= MMS_DATABASE_USER= MMS_DATABASE_PASSWORD= JWT_ACCESS_SECRET= AES_ENCRYPTION_KEY= GCP_API_KEY= EVENTBRITE_API_KEY= EVENTBRITE_CLIENT_SECRET=
-
Start the authentication server.
npm run devAuth
-
Start the API server.
npm run dev
-
Install dependencies.
cd frontend npm install
-
Create a
.env
file infrontend/
in the following format (Variables may change depending on port used/personal preference): Make sure your API URL matches the API Server URL and port you specified in your backend .env file above.VITE_MMS_API_SERVER_URL=http://localhost:3000 VITE_MMS_AUTH_SERVER_URL=http://localhost:3001 VITE_MMS_SOCKET_SERVER_URL=http://localhost:3002 VITE_MMS_APP_URL=http://localhost:5173
-
Run the app.
npm run [dev|prod]