- Updated docker-compose.yml to use context and dockerfile for the app service, and removed unnecessary db service configuration.
- Modified Dockerfile to use the official Rust nightly image and streamlined the build process with updated working directories and runtime dependencies.
- Changed API description in root handler to reflect the correct endpoint for fetching the current hospital.
- Added various file patterns to .gitignore to prevent tracking of build artifacts, logs, database files, temporary files, and IDE-specific configurations.
- Ensured that sensitive environment files and Docker-related files are ignored to maintain a clean repository.
- Added .env to the .gitignore to prevent sensitive environment configuration from being tracked.
- Confirmed that .DS_Store files are ignored to maintain a clean repository.
- Introduced a Dockerfile for building the application using a multi-stage build process.
- Added docker-compose.yml to define services for the application and PostgreSQL database.
- Updated README.md with instructions for running the application using Docker and Docker Compose.
- Introduced the GNU General Public License v3.0 to ensure the software remains free and open source.
- Updated README.md to reflect the new licensing terms and added a section explaining the implications of the GPL-3.0 license.
- Included a brief description of the project's purpose as a test for AI-assisted software development.
- Added an overview of the Hospital API service and its purpose.
- Included detailed features of the API, such as automatic shift management and real-time information.
- Documented API endpoints with descriptions, response examples, and setup instructions.
- Provided configuration details and database schema information.
- Explained background tasks and logging format for better understanding of the application.
- Updated `.env` file to include `DB_MAX_CONNECTIONS` and `ENVIRONMENT` variables.
- Modified `Cargo.toml` to add `thiserror` and `time` dependencies, and updated `sqlx` features.
- Refactored `main.rs` to implement periodic tasks for checking future shifts and printing the current hospital.
- Expanded routing in `routes.rs` to include a new endpoint for current hospital status.
- Improved database initialization in `init.rs` to conditionally drop tables based on the environment.
- Enhanced error handling in database operations and added logging for better traceability.
- Updated hospital management logic in `hospital.rs` to fetch and store shifts with improved timestamp logging.