Skip to content

CD#26

Merged
antonioalanxs merged 27 commits intodevelopfrom
chore/continuous-deployment
Jul 11, 2025
Merged

CD#26
antonioalanxs merged 27 commits intodevelopfrom
chore/continuous-deployment

Conversation

@antonioalanxs
Copy link
Copy Markdown
Owner

No description provided.

Included daphne==3.0.1 in requirements.txt to support ASGI server functionality.
Moved docker-compose.yml to docker/docker-compose-development.yml and added scripts to start and stop development tools using the new compose file.
Introduces Docker support with a Dockerfile, docker-compose.yml, and supporting scripts for building, running, and pushing images.
Changed the repo-token in the GitHub Actions CD workflow from GITHUB_TOKEN to PERSONAL_GITHUB_TOKEN to use a personal access token for workflow permissions.
@antonioalanxs antonioalanxs force-pushed the chore/continuous-deployment branch from c56e2d6 to 9e21401 Compare July 8, 2025 18:24
…n the main branch and Remove redundant checkout step
Introduces environment variables and configuration changes to support SSL and password authentication for both Redis and MySQL. Adds a root certificate for MySQL SSL connections, updates settings.py to handle new Redis and MySQL options, and modifies the CI/CD workflow to use consistent boolean values. Removes MySQL and Redis service definitions from docker-compose.yml, likely to support external or managed services.
@antonioalanxs antonioalanxs force-pushed the chore/continuous-deployment branch from f63b826 to 48ab95c Compare July 10, 2025 22:42
@antonioalanxs antonioalanxs force-pushed the chore/continuous-deployment branch from f2b5f44 to b447d75 Compare July 11, 2025 00:04
@antonioalanxs antonioalanxs merged commit 39bf100 into develop Jul 11, 2025
4 checks passed
antonioalanxs added a commit that referenced this pull request Jul 12, 2025
* Welcome Django REST framework (#1)

* [backend] - chore: Initialize project

* [backend] - chore: Connect database

* [backend] - chore: Add Django REST framework and API prefix

* [backend] - docs: Add Swagger

* Add backend CI (#4)

* [backend] - refactor: Clean endpoint

* [backend] - test: Add sample test

* [backend] - fix: Add environment variable for database host setting

GitHub Actions runner cannot connect to localhost because it attempts to use a Unix socket connection.

* [backend] - chore: Add CI

* Welcome React.js + Ionic + Capacitor (#5)

* [frontend] - chore: Initialize project

* [frontend] - chore: Clean project and Add absolute paths

* [frontend] - chore: Remove Strict Mode

* [frontend] - chore: Define folder structure and Install initial dependencies

* [frontend] - chore: Add Ionic and Capacitor

* [frontend] - refactor: Delete jsconfig.json

* Add frontend CI (#8)

* [frontend] - chore: Add sample test

* [frontend] - chore: Add CI

* Create Authentication system and Landing page (#9)

* [backend] - fix/chore: Fix .gitignore

* [backend] - feat: Add user-related models

* [backend] - chore: Add djangorestframework-simplejwt dependency

* [backend] - chore: Add fixture

* [backend] - fix: Fix djangorestframework-simplejwt configuration and `BaseUser` model

* [backend] - feat: Add login

* [backend] - refactor: Upgrade user-related models

* [backend] - feat: Add user roles to tokens

* [frontend] - all: Implement multiple changes - [SEE DESCRIPTION FOR DETAILS]

- Create logo and favicon
- Add logo and favicon
- Define general aesthetics and styling
- Layout the login page
- Add form validations
- Create some general components
- Add unit tests for all
- Refactor the entire project

* [frontend] - feat: Add `StorageService`

* [both] - feat/test: Connect projects, Add login logic and Add necessary unit tests

* [frontend] - refactor: Update `useTitle` hook

* [frontend] - refactor/fix: Refactor login page and Fix `Logo` component

* [frontend] - feat: Redesign logo, Add landing page, Define routed-based navigation and Create route guards

* [backend] - test: Add tests for login

* [frontend] - fix: Fix `customRender` utility

* [backend] - fix/chore: Fix .gitignore to add migrations

* [frontend] - fix: Add react-router-dom to arrange tests

$ npm ls react-router-dom

frontend@0.0.0
└─┬ @ionic/react-router@8.3.0
  └── react-router-dom@5.3.4

* Add Password Reset Request and Password Reset (#10)

* [backend] - feat: Add sign_up_email_template.html

* [backend] - feat: Configure Mailtrap

* [backend] - feat: Add password_reset_request_email_template.html

* [backend] - refactor: Upgrade email templates

* [backend] - feat: Add reset password request and reset password

* [backend] - test: Add tests for reset password request and reset password

* [frontend] - feat: Add password reset request page

* [frontend] - feat: Add password reset page

* Welcome UI (#11)

* [frontend] - feat/refactor/fix: Add UI, Relayout existing pages and Fix guard bug

* Add Log out and Dark mode (#12)

* [backend] - refactor: Remove `img/` from email templates

* [backend] - refactor: Remove `is_reset_password_token_valid`

* [backend] - feat: Add logout

* [backend] - test: Add tests for logout

* [frontend] - feat: Add sidebar and generic layout

* [frontend] - feat: Add toggle between light and dark mode

* [both] - fix/feat: Fix authentication-related logic and Add settings page

* [backend] - fix: Add `IsAuthenticated` permission to logout

* Add Change Password (#13)

* [both] - feat/refactor/test: Add change password, its tests and Refactor some already implemented logic

* Add Settings page (#14)

* [backend] - refactor: Upgrade user-related models

* [backend] - refactor: Upgrade fixture

* [backend] - feat: Adapt token data

* [backend] - refactor: Upgrade fixture

* [frontend] - refactor: Create `tokensHelper.js`

* [frontend] - refactor: Update docstring

* [frontend] - feat: Upgrade settings page

* [frontend] - fix: Fix logout

* [frontend] - fix: Fix greeting

* [frontend] - fix:/refactor Fix settings page, and Refactor utilities and constants modules

* [backend] - fix: Fix tests

* [backend] - fix: Set `APPEND_SLASH` to `False`

* [backend] - feat: Add `IsPatient` permission

* [backend] - feat: Add change address

* [frontend] - refactor: Modularize settings page

* [backend] - refactor: Refactor tests

* [backend] - test: Add tests for change address

* [frontend] - refactor: Remove unused imports from settings page

* [frontend] - fix: Fix `FormErrorText` component not showing

* [frontend] - fix: Fix `UserService` import for tests

---------

Co-authored-by: Antonio José Alanís Bernal <antoniojose.alanisbernal.practicas@telefonica.com>

* [backend] - refactor: Remove unused imports

* [backend] - docs: Add more Swagger schemas

* [backend] - feat: Improve change password

* [backend] - test: Add more tests for change password

* [frontend] - feat: Adapt change password page

* Add Tracking (#15)

* [frontend] - chore: Add `leaflet.js` dependency

* [frontend] - feat: Create map

* [frontend] - refactor: Update map

* [both] - feat: Add initial WebSocket connection

* [backend] - chore: Add Redis

* [backend] - feat: Establish WebSocket connections via channels

In addition, an `HTTP` request will no longer be needed to update the patient location.

* [frontend] - docs: Complete some docstrings

* [frontend] - feat: Add a frontend sample to test WebSocket communications

* [backend] - refactor/docs: Refactor the entire project and Add some docstrings

* [backend] - refactor: Refactor tests

* [backend] - test: Add tests for WebSocket communications

* [backend] - test: Mock all databases

* Project basis (#16)

* [frontend] - chore: Remove unnecessary dependencies

* [frontend] - chore: Add `react-router-dom` dependency

* [frontend] - refactor: Add `@capacitor/preferences` dependency

As we have removed the Ionic Framework before, we take full advantage of Capacitor.

* [frontend] - refactor: Redefine folder structure

* [frontend] - refactor: Change import paths

* [frontend] - refactor: Define the `flow` module

* [frontend] - fix: Fix problem with loading of unnecessary fonts

* [frontend] - refactor: Reorganize classes

* [frontend] - fix: Update styles

* [frontend] - feat: Add error page

* [frontend] - fix: Fix improper routes

* [frontend] - refactor: Reorganize classes

* [frontend] - test: Add login page tests

* [frontend] - fix/refactor: Fix `Sidebar.jsx` and Reorganize its classes

* [frontend] - refactor: Complete the `flow` module

* [backend] - feat: Add independent password reset token checker

* [backend] - test: Add tests for independent password reset token checker

* [backend] - refactor: Modify reset password error message

* [backend] - refactor: Modify login error message

* [frontend] - feat: Make spinner component customizable

* [frontend] - style: Update some code style

* [frontend] - refactor: Componetize alerts, feedback of invalid fields, submit buttons, links and headers

* [frontend] - refactor: Clear error page

* [frontend] - refactor: Improve routes organisation

* [frontend] - refactor: Reorganise constants

* [both] - refactor: Update reset password request message

* [frontend] - fix: Fix routes

- Make absolute error page path
- Remove duplicated routes

* [frontend] - feat: Upgrade some layout

* [frontend] - feat: Add guard to reset password page

* [backend] - refactor: Modify change password message

* [frontend] - all: Implement multiple changes - [SEE DESCRIPTION FOR DETAILS]

The order of the commits would be the following.

* [frontend] - feat: Define the entire `in` module
* [frontend] - fix: Fix `StorageService.js`
* [frontend] - feat: Add authentication context
* [frontend] - feat: Define interceptor within the context to be able to update tokens state
* [frontend] - feat: Create loading page
* [frontend] - feat/fix: Integrate loading page and Fix route guards
* [frontend] - feat: Integrate load component
* [frontend] - refactor: Refactor the entire project
* [frontend] - test: Add all necessary tests
* [frontend] - fix: Fixing tests involving the authentication context

* [both] - all: Implement multiple changes

* [both] - chore: Add `.env.local` file

* [backend] - chore: Update CI

* [frontend] - test: Fix tests

* [frontend] - chore: Update CI

* [frontend] - tests: Fix tests

* [backend] - chore: Fix tests

* [backend] - chore: Update CI

* [backend] - chore: Update CI

* [backend] - chore: Update CI

---------

Co-authored-by: Antonio José Alanís Bernal <antoniojose.alanisbernal.practicas@telefonica.com>

* Add groups (#17)

* [backend] - feat: Add list groups

* [backend] - tests: Add tests for list groups

* [frontend] - feat: Add groups page

* [backend] - feat: Add get a group

* [backend] - tests: Add tests for get a group

* [frontend] - feat: Add visualize a group page

* [frontend] - tests: Add tests for both pages

* [backend] - feat: Add edit a group

* [backend] - tests: Add tests for edit a group

* [frontend] - feat: Add edit a group page

* [frontend] - tests: Add tests for edit a group page

* [backend] - feat: Add create a group

* [backend] - tests: Add tests for create a group

* [frontend] - feat: Add create a group component

* [frontend] - tests: Add tests for create a group component

* [frontend] - refactor: Change some subtitles of group pages

* [backend] - feat: Add destroy a group

* [backend] - tests: Add tests for destroy a group

* [frontend] - tests: Fix tests

---------

Co-authored-by: Antonio José Alanís Bernal <aj.alanis.2020@alumnos.urjc.es>

* Add medical specialties (#18)

* [backend] - feat: Add list medical specialties

* [backend] - tests: Add tests for list medical specialties

* [frontend] - feat: Add list medical specialties page

* [frontend] - fix: Fix Table and GenericList components

* [backend] - feat: Add get medical specialty and list doctors by medical specialty

* [backend] - tests: Add tests for get medical specialty and list doctors by medical specialty

* [frontend] - fix: Fix Table and GenericList components

* [frontend] - feat: Add get medical specialty page

* [backend] - feat: Add update medical specialty

* [backend] - refactor: Add constraints to MedicalSpecialty model

* [backend] - test: Add tests for update medical specialty

* [frontend] - feat: Add edit medical specialty page

* [backend] - feat: Add delete medical specialty

* [backend] - tests: Add tests for delete medical specialty

* [backend] - feat: Add create medical specialty

* [backend] - tests: Add tests for create medical specialty

* [frontend] - feat: Add create medical specialty page

* [frontend] - refactor: Quit unnecessary routes and Cover corner case of `undefined` text

* Add administrators (#19)

* [backend] - feat: Add list administrators

* [backend] - test: Add tests for list administrators

* [frontend] - feat/refactor: Add list administrators page and Rename some services and adapters

* [frontend] - refactor: Change title "Search a(n)" to "Search for a(n)"

* [backend] - fix: Add "id" field to AdministratorPreviewSerializer

* [frontend] - feat: Add create administrator

* [frrontend] - feat: Add create administrator page

* [frontend] - refactor: Improve responsiveness

* [backend] - feat: Add get administrator

* [backend] - tests: Add tests for get administrator

* [frontend] - feat: Add get administrator page

* [backend] - fix: Add field "id" to AdministratorSerializer

* [backend] - feat: Add delete user

* [backend] - refactor: Quit delete patient

* [backend] - tests: Add tests for delete user

* [frontend] - refactor: Quit destroy method from PatientService

* [frontend] - refactor: Remove unnecessary fragment

* [frontend] - fix: Cover corner case of self-deletion

* [frontend] - refactor: Simplify headers of some pages

* [frontend] - feat: Add manage administrator page

* Add doctors (#20)

* [both] - chore: Delete unnecessary VITE_PAGINATION_OPTIONAL_PARAMETER

* [backend] - refactor: Upgrade DoctorPreviewSerializer

* [frontend] - feat: Add list doctors page

* [both] - refactor/fix: Refactor some aspects of both projects and Fix nullable "primary_doctor_id" field

* [backend] - refactor: Quit key field from error messages

* [both] - chore/refactor: Remove a lot of technical debt

* [both] - refactor: Automate the “Saved changes.” message.

* [both] - all: Implement multiple changes - [SEE DESCRIPTION FOR DETAILS]

- Add get a doctor
- Add list patients by doctor
- Add tests for get a doctor
- Add tests for list patients by doctor
- Add get a doctor page
- Remove some technical debt

* [frontend] - refactor: Add optional phrases to Load component

* [frontend] - style: Put text in the center in the fallback of the Table component

* [frontend] - feat: Add create doctor page

* [backend] - feat/refactor: Add create a doctor and Refactor doctors serializers

* [backend] - tests: Add tests for create a doctor

* [backend] - refactor: Refactor doctors serializers to adapt them to update doctor feature

* [frontend] - refactor: Homogenize create entity buttons

* [frontend] - refactor/fix: Change "Identity card" title to "Identity card number" and Fix some loading states

* [frontend] - feat: Add edit doctor page

* [frontend] - refactor: Homogenize some subtitles

* [frontend] - feat: Create update patient page

* [backend] - feat: Add get patient

* [backend] - tests: Add tests for get patient

* [frontend] - refactor: Upgrade responsiveness from CreatePatientPage

* [frontend] - feat: Enhance PatientSerializer to support update of address nested fields

* [frontend] - feat: Make update patient page

* [frontend] - refactor: Delete unused button

* [frontend] - refactor: Improve responsiveness from DoctorInformation component and EditDoctorPage

* [backend] - fix: Add "collegiate_code" field to DoctorCompressSerializer

* [backend] - fix: Add new permissions to list medical specialties

* [backend] - fix: Add "id" field to UserSerializer

* [frontend] - feat: Add get patient page (PatientSheetPage)

* [backend] - tests: Fix tests

* [frontend] - refactor: Improve PatientInformation component responsiveness

* [frontend] - tests: Fix tests

* [frontend] - tests: Fix tests

* Add rooms (#21)

* [backend] - chore: Start rooms application

* [backend] - feat/fix: Add Room model and Translate medical specialties to English

* [backend] - feat: Add list rooms by medical specialty

* [backend] - tests: Add tests for list rooms by medical specialty

* [backend] - refactor: Fix "medical_specialty" field of RoomSerializer

* [frontend] - refactor: Create GenericEntityAdapter

* [frontend] - feat: Add medical specialty related rooms in get medical specialty page

* [backend] - feat: Add list rooms

* [frontend] - tests: Add tests for list rooms

* [frontend] - feat: Add list rooms page

* [backend] - feat: Add destroy room

* [backend] - tests: Add tests for destroy room

* [backend] - chore: Add more rooms to fixture

* [backend] - feat: Add get room

* [backend] - tests: Add tests for get room

* [frontend] - feat: Add get room page

* [frontend] - refactor: Remove unnecessary states

* [backend] - feat: Add create room

* [backend] - tests: Add tests for create room

* [frontend] - feat: Add create room page

* [backend] - feat: Add room partial update

* [backend] - tests: Add tests for room partial update

* [frontend] - refactor: Homogenize some subtiltes

* [frontend] - fix: Fix "location" field length

* [frontend] - feat: Add room partial update page

* Appointments (#22)

* [frontend] - refactor: Fix link activation

* [backend] - fix: Make medical specialties visible to all users

* [backend] - feat: Prepares patients for selection

* [frontend] - feat: Create RequestAppointmentPage and Prepare the project for the Appointments module

* [backend] - feat: Start and create models for appointments and schedules applications

* [both] - feat: Init request appointment endpoint

* [both] - chore: Share the default value across both projects

* [frontend] - fix: Correct import path for default value

* [frontend] - fix: Make adjustments to align with server-side appointment assignment algorithm

* [backend] - feat: Add email template for appointment confirmation

* [backend] - refactor: Refactor existing email templates

* [backend] - refactor: Remove unused imports

* [backend] - refactor: Make Room schema more flexible

* [backend] - feat: Add create appointment view and Route it

* [backend] - feat: Develop a binary integer linear optimization algorithm to minimize appointment waiting times

* [backend] - test: Add tests for the binary integer linear optimization algorithm to minimize appointment waiting times

* [backend] - feat/test: Add list appointments and tests for it

* [both] - feat/refactor: Establish list appointments

* [backend] - feat: Add appointment cancellation

* [backend] - test: Add tests for appointment cancellation

* [frontend] - feat: Add appointment cancellation

* [both] - refactor: Make appointments operable to administrators

* [frontend] - feat: Add AppointmentAdapter and Improve Table component

* [frontend] - feat: Add appointments calendar

* [backend] - feat: Add appointments calendar

* [backend] - test: Add tests for appointments calendar

* [frontend] - refactor: Improve Table component loading status

* [backend] - feat/refactor: Add medical tests and treatment models and Delete unused clinical history model

* [both] - fix: Rename "route" schedule to "calendar" and Make doctors have a single medical specialty

* [backend] - feat: Add export database

* [backend] - test: Add tests for export database

* [frontend] - feat: Add export database page

* [backend] - fix: Arrange for a doctor to see appointments that are not its own

* [frontend] - refactor: Remove title and subtitle from database export card

* [backend] - fix: Fix ListDoctorsByMedicalSpecialtyAPIView

* [backend] - chore: Update dump.json

* [backend] - fix: Continue fixing search.py

* [backend] - feat: Add list treatments

* [backend] - test: Add tests for list treatments

* [both] - all: Multiple changes related to medical test and treatment entities and Fix some bugs

* Add appointment detail view and update permissions

Introduces a detailed appointment page in the frontend, including status management and patient info. Updates backend serializers and viewset to support retrieve and partial update endpoints with proper permission checks. Adjusts related frontend routes, services, adapters, and generic list behavior to enable navigation to appointment details. Improves test coverage for appointment retrieve and update endpoints, and refines UI elements for medical tests, treatments, and map display.

* [backend] - fix: Fix AppointmentDetailSerializer

* [both] - chore: Enable CI workflows for main branch

Added 'main' branch to the pull_request trigger in both backend and frontend CI workflows to ensure CI runs on pull requests targeting the main branch.

* [backend] - fix: Fix search

* [backend] - test: Fix Room tests

* [backend] - feat: Add create treatment

* [backend] - test: Add tests for create treatment

* [backend] - feat: Add create medical test

* [backend] - test: Add tests for create medical test

* [frontend] - feat: Add treatments and medical tests to appointment page

* hotfix/Appointment Algorithm (#23)

* [backend] - fix: Add date range filtering to scheduled appointments query

* [backend] - fix/test: Fix and Improve algorithm tests

* Home (#24)

* [both] - feat: Add home doctor page

* [both] - feat: Add home patient page

* [frontend] - feat: Add home administrator page

* Adjust margin for search bar row in MedicalTestsList

Added an inline style to the row containing the search bar to set a negative top margin. This likely improves the visual alignment or spacing of the search bar within the component.

* Reorder fields in MedicalTestsList details view

Swapped the display order of 'Result' and 'Medical specialty' fields in the medical test details section for improved logical grouping.

* [backend] - test: Fix test_list_appointments_by_patient_with_patient

* Clean up (#25)

* [both] - chore: Clean dependencies and Make fixture

* CD (#26)

* [both] - chore: Prioritize loading .env if it exists, otherwise fallback to .env.local

* [backend] - chore: Update .env.local

* [chore] - both: Update .gitignore

* [backend] - chore: Add daphne to backend requirements

Included daphne==3.0.1 in requirements.txt to support ASGI server functionality.

* [both] - chore: Make Docker setup for development environment

Moved docker-compose.yml to docker/docker-compose-development.yml and added scripts to start and stop development tools using the new compose file.

* [both] - chore: Add Docker configuration and scripts

Introduces Docker support with a Dockerfile, docker-compose.yml, and supporting scripts for building, running, and pushing images.

* [both] - chore: Simplify CI scripts and minor Dockerfile cleanup

* [both] - chore: Add cd.yml

* [both) - fix: Update repository token in CD workflow

Changed the repo-token in the GitHub Actions CD workflow from GITHUB_TOKEN to PERSONAL_GITHUB_TOKEN to use a personal access token for workflow permissions.

* [both] - chore: Update CD workflow to trigger on CI completion

* [both] - chore: Consolidate CI/CD workflows into single pipeline due to coordination purposes

* [both] - chore: Tag Docker image as latest in CI/CD workflow

* [both] - refactor: Restrict Docker image build and push to only run on the main branch and Remove redundant checkout step

* [backend] - fix: Remove appointments outside of business hours

* [both] - chore: Set project for deployment

Introduces environment variables and configuration changes to support SSL and password authentication for both Redis and MySQL. Adds a root certificate for MySQL SSL connections, updates settings.py to handle new Redis and MySQL options, and modifies the CI/CD workflow to use consistent boolean values. Removes MySQL and Redis service definitions from docker-compose.yml, likely to support external or managed services.

* [frontend] - fix: Fix database export query parameter name

* [frontend] - fix: Refactor height utility class and update layout styles

* [both] - chore: Add .gitattributes to enforce LF line endings and update scripts

* [both] - chore: Refactor Docker setup for separating backend and frontend images

* [both] - test: Test ci-cd.yml

* [chore] - both: Update ci-cd.yml

* [chore] - both: Update ci-cd.yml

* Update ci-cd.yml

* [both] - chore: Update ci-cd.yml

* [both] - chore: Add Azure deployment job

* [both] - chore: Add step to delete existing Azure Container Instances

* Add README.md documentation and diagrams (#27)

* [both] - docs: Add project documentation and diagrams

* [both] - refactor: Remove logo image and update README references

* [both] - fix: Fix formatting of script argument descriptions

* Improve table formatting in README.md

* Change LICENSE (#30)

* [both] - chore: Change license from MIT to Apache 2.0

* [both] - docs: Add license section to README
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant