A full stack application for project management and issue tracking
- Fully containerised using Docker
- Frontend
- React 19
- TypeScript
- Mobx
- CSS modules
- TanStack Query
- TanStack Router
- Backend
- C#
- .NET 9
- Microsoft.AspNetCore.Authentication
- AspNet.Security.OAuth.GitHub
- Database
- Postgres 15
- Reverse Proxy
- Nginx
docker-compose -f docker-compose.yml -f docker-compose.admin.yml up --build -d postgres pgadmin- Set connection string in .NET Secret Manager
dotnet user-secrets init
dotnet user-secrets set 'ConnectionStrings:Postgres" "User Id=huddle_admin;Password=<POSTGRES_PASSWORD>;Host=localhost;Port=5432;Database=huddle'
dotnet user-secrets set "GitHub:ClientId" "your_github_client_id"
dotnet user-secrets set "GitHub:ClientSecret" "your_github_secret"- Create
.vscode/launch.jsonfile.
{
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"program": "${workspaceFolder}/backend/bin/Debug/net9.0/huddle.dll",
"args": [],
"cwd": "${workspaceFolder}/backend",
"console": "internalConsole",
"stopAtEntry": false
}
]
}-
Run
dotnet build. -
Click the
Run and Debugbutton on the right panel in VSCode.
- Create
frontend/.env.local.
VITE_API_BASE_URL=http://localhost:5165/api- Run frontend.
cd ./frontend
npm run devdotnet ef migrations add <>
dotnet ef database update- Create
frontend/.env.
VITE_API_BASE_URL=/api- Create
.env.
POSTGRES_PASSWORD=<INSERT_POSTGRES_PASSWORD>
PGADMIN_DEFAULT_PASSWORD=<INSERT_PGADMIN_DEFAULT_PASSWORD>- Run
docker-compose.
docker-compose -f docker-compose.yml up --build -d
# Remove volumes
# docker-compose down -v
