You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Any static hosting provider should work (including just putting the dist folder in front of a web server like nginx), but we use Cloudflare Pages and it works well.
Docker / Container environment
We use Docker Compose, however anything that can run a container should work.
PostgreSQL database
We also use Docker for PostgreSQL, however any existing PostgreSQL database should also work.
Connect using GitHub (use the Git url https://github.com/OliverW10/group-allocator.git)
Set the root directory to frontend
Set the output directory to dist
Set the environment variable VITE_BACKEND_URL to the URL of your backend API (e.g. https://api.example.com)
Magic
Deploy the database (keep the connection string handy)
It is up to you how you want to deploy this. If you don't want to do this separately and would rather use Docker, simply uncomment the db service in the docker-compose.yaml file.
Create your appsettings.json file
Place the file somewhere that can be mounted by the container
Ensure you swap out the connection string with your one
erDiagram
Client {
int Id PK
string Name
int MinProjects
int MaxProjects
}
File {
int Id PK
int UserId FK
byte[] Blob
string Name
}
Preference {
int Id PK
int StudentId FK
int ProjectId FK
double Strength
}
Project {
int Id PK
int ClientId FK
string Name
bool RequiresNda
int MinStudents
int MaxStudents
}
SolveRun {
int Id PK
DateTime Timestamp
double Evaluation
}
StudentAssignment {
int Id PK
int StudentId FK
int ProjectId FK
int SolveRunId FK
}
Student {
int Id PK
int UserId FK
bool WillSignContract
}
User {
int Id PK
bool IsAdmin
string Name
string Email
bool IsVerified
}
Project }o--|| Client : has_many
Preference }o--|| Student : has_many
Preference }o--|| Project : has_many
StudentAssignment }o--|| Student : has_many
StudentAssignment }o--|| Project : has_many
StudentAssignment }|--|| SolveRun : references
Student |o--|| User : has_one
User ||--o{ File : has_many
Application - Windows
Install Visual Studio with ASP.NET workload and .NET 9.0 component
In the Group-allocator/backend/group-allocator directory, run the following commands:
dotnet tool restore
dotnet run
Run dotnet user-secrets init then dotnet user-secrets set "Stripe:SecretKey" "{key}"