Skip to content
This repository was archived by the owner on Jan 28, 2026. It is now read-only.

Commit 4f865f7

Browse files
author
ge85riz
committed
📝 update README.md and add docker-compose.prod.yaml for production
1 parent 27f2b59 commit 4f865f7

13 files changed

Lines changed: 206 additions & 19 deletions

File tree

.env

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
FRONTEND_PORT=5173
2+
SERVER_PORT=8000
3+
POSTGRES_PORT=5432
4+
5+
# replace with server address like https://applicationserver.itestra.com:8000
6+
BACKEND_ADDRESS=http://localhost:8000
7+
# replace with server address like https://applicationserver.itestra.com:5173
8+
CLIENT_INSTANCE_ADDRESS=http://localhost:5173
9+
10+
# credentials for admin username and password for postgres server
11+
# that we want to create
12+
DATABASE_NAME=postgres
13+
DATABASE_PASSWORD=5Hg0ClYBm3Fa
14+
DATABASE_USERNAME=grmykekuvhrpbj
15+
16+
# replace with on-premise gitlab's address : https://gitlab.itestra.com
17+
GITLAB_INSTANCE_ADDRESS=https://gitlab.com
18+
GITLAB_INSTANCE_CLIENT_ID=xxxxxxxxxxxxxxxxxxx
19+
GITLAB_INSTANCE_CLIENT_SECRET=gloas-xxxxxxxxxxxxxxxxx
20+
21+
# 64-char key (generate a new one for prod)
22+
JWT_SERVER_KEY=2e79b611f75ee73e4c258321276c2ad58bf55ed91656b2aff83408832476e3cc
23+
24+
# constrain solver related parameters.
25+
CONSTRAINT_SOLVER_DURATION_LIMIT=300
26+
CONSTRAINT_SOLVER_SEARCH_WORKERS_COUNT=10

README.md

Lines changed: 86 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ The **Event-Exchange-Platform** supports the organization of internal events at
1414
- Automatically allocate participants to seats using smart matching algorithms
1515
- Avoid repeated pairings across events
1616

17+
1718
---
1819

1920
## ✨ Key Features
@@ -46,17 +47,22 @@ The **Event-Exchange-Platform** supports the organization of internal events at
4647
To run the platform locally or deploy on-premise:
4748

4849
```bash
49-
# Clone the repository
50+
# Clone the repository
5051
git clone https://github.com/DigitalProductInnovationAndDevelopment/Event-Exchange-Platform.git
5152

5253
# Navigate to project root
5354
cd Event-Exchange-Platform
5455

5556
# Start all services using Docker Compose
56-
docker-compose up --build
57+
docker compose -f docker-compose.yaml up --build
5758
```
5859

59-
Ensure you have the appropriate `.env` file configured for environment-specific variables.
60+
Ensure you have the appropriate `.env` file configured for environment-specific variables for production
61+
You can take a look at the .env file in the GitHub repository.
62+
```bash
63+
# Start all services using Docker Compose for production
64+
docker compose -f docker-compose.prod.yaml up --build
65+
```
6066

6167
---
6268

@@ -76,6 +82,80 @@ You'll find step-by-step guides on:
7682

7783
> This documentation is intended for both event organizers and developers contributing to the platform.
7884
85+
---
86+
## GitLab Authentication Setup
87+
88+
To use GitLab authentication with this application, you'll need to obtain a Client ID and Client Secret from GitLab. Follow these steps:
89+
90+
### Creating a GitLab OAuth Application
91+
92+
1. **Sign in to GitLab**
93+
- Navigate to [gitlab.com](https://gitlab.com) (or your GitLab instance)
94+
- Sign in with your GitLab account
95+
96+
2. **Access User Settings**
97+
- Click on your profile picture in the top-right corner
98+
- Select "Edit profile"
99+
- ![Screenshot Where to Edit Profile](backend/readme_assets/gitlab1.png)
100+
101+
3. **Navigate to Applications**
102+
- In the left sidebar, click on "Applications"
103+
- Click the "New application" button
104+
- ![Screenshot Where to Applications](backend/readme_assets/gitlab2.png)
105+
- ![Screenshot Where to New Application](backend/readme_assets/gitlab3.png)
106+
107+
4. **Configure Your Application**
108+
- **Name**: Enter a descriptive name for your application (e.g., "My App Name")
109+
- **Redirect URI**: Enter your application's callback URL
110+
```
111+
https://applicationserver.itestra.com:8000/login/oauth2/code/gitlab
112+
```
113+
*Note: Replace with your actual domain and callback path in production*
114+
- **Scopes**: Select the required scopes for your application:
115+
- `read_user` - Read user information
116+
- **Confidential**: Leave this checked (recommended for server-side applications)
117+
- ![Screenshot Where to Configure Application](backend/readme_assets/gitlab4.png)
118+
5. **Save the Application**
119+
- Click "Save application"
120+
121+
6. **Copy Your Credentials**
122+
After creating the application, you'll see:
123+
- **Application ID** (this is your `CLIENT_ID`)
124+
- **Secret** (this is your `CLIENT_SECRET`)
125+
126+
⚠️ **Important**: Copy these values immediately and store them securely. The secret will not be shown again.
127+
128+
- ![Screenshot Where to Get Credentials](backend/readme_assets/gitlab5.png)
129+
130+
## Environment Configuration
131+
132+
Add the obtained credentials to your environment variables:
133+
134+
```bash
135+
# .env file
136+
GITLAB_INSTANCE_CLIENT_ID=your_application_id_here
137+
GITLAB_INSTANCE_CLIENT_SECRET=your_secret_here
138+
```
139+
140+
## For GitLab Self-Managed Instances
141+
142+
If you're using a self-managed GitLab instance:
143+
144+
1. Replace `gitlab.com` with your GitLab instance URL
145+
2. Follow the same steps above on your instance
146+
3. Update your application configuration to point to your GitLab instance:
147+
148+
```bash
149+
GITLAB_INSTANCE_ADDRESS=https://your-gitlab-instance.com
150+
```
151+
152+
## Security Notes
153+
154+
- Keep your Client Secret confidential and never commit it to version control
155+
- Use environment variables or secure secret management systems
156+
- In production, ensure your redirect URI uses HTTPS
157+
- Regularly rotate your credentials for enhanced security
158+
79159
---
80160

81161
## 📦 Repository Structure
@@ -84,8 +164,9 @@ You'll find step-by-step guides on:
84164
Event-Exchange-Platform/
85165
├── backend/ # Spring Boot backend
86166
├── frontend/ # React + Tailwind frontend
87-
├── docker-compose.yml # Service orchestration
88-
├── .env.example # Sample environment config
167+
├── docker-compose.yml # Service orchestration for development/test
168+
├── docker-compose.prod.yml # Service orchestration for production
169+
├── .env # Sample environment config
89170
└── README.md # You're here!
90171
```
91172

backend/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Download the backend repository.
44

5-
There should be a `docker-compose.yaml` file in the project's root directory.
5+
There should be a `docker-compose.yaml` file in the backend directory.
66

77
Run `docker compose up`.
88

backend/readme_assets/gitlab1.png

33.7 KB
Loading

backend/readme_assets/gitlab2.png

35.6 KB
Loading

backend/readme_assets/gitlab3.png

51.3 KB
Loading

backend/readme_assets/gitlab4.png

160 KB
Loading

backend/readme_assets/gitlab5.png

69.9 KB
Loading

backend/src/main/java/com/itestra/eep/dtos/constraintSolver/ConstraintSolverConstraintsDTO.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class ConstraintSolverConstraintsDTO implements Serializable {
1212
@JsonProperty("Standort")
1313
int place;
1414

15-
@JsonProperty("Anstellung")
15+
@JsonProperty("Zugehörigkeit")
1616
int employmentDuration;
1717

1818
@JsonProperty("Geschlecht")

backend/src/main/java/com/itestra/eep/repositories/EmployeeParticipationRepository.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,7 @@ public interface EmployeeParticipationRepository extends JpaRepository<EmployeeP
3434
" and pm.id.firstEmployeeId = pm2.id.secondEmployeeId)")
3535
List<Object[]> findEmployeePairsOfCurrentEventThatAreAcquaintedFromPreviousEvents(Set<UUID> previousEventIds, UUID currentEventId);
3636

37+
@Query("select e.employee.id from EmployeeParticipation e where e.eventId = ?1")
38+
Set<UUID> findAllEmployeeParticipantIdsOfEvent(UUID eventId);
3739

3840
}

0 commit comments

Comments
 (0)