Run docker compose up --build to get this online and navigate to http://localhost:8080
docker compose down -v will reset the DB
run dotnet test from the solution directory to unit test
run dotnet run from the src/SixBee.Appointments directory to run under debug (but a locally running postgres server is required)
Developed using .NET using Ubuntu 25.10 as developer workstation As I progressed this caused me some issues (e.g. npgsql/npgsql#5987). I did some initial discovery work with stringly typed queries - and wanted to refactor to EF. I resolved the above by removing Npgsql 10.0.2, and using the inbuilt transitive deps for EF.PostgreSQL
The following can be used to generate a new secure hash for an admin user.
python3 -c "import bcrypt; print(bcrypt.hashpw(b'A5ecure5tringMaybe', bcrypt.gensalt()).decode())"
Example output: $2b$12$J8hN8oR4sOF79NwFIJGMW.MuhHcZtsFJvYuokkyxCF/YezR.Nq1Ei
With the current code the DB connection string is:
Host=localhost;Port=5432;Database=sixbee;Username=sixbee;Password=sixbee
Host will be "postgres" when launching the docker-compose file
Obviously this is not a secure admin password, but for the exercise this is fine.
Located under src/SixBee.Appointments as a single app to interface with the DB - trade off of a three tier system for a basic MVC app.
I got interested in the Tailwind side of things, and the docker compose side too, trying to make this as easy as possible to run