{"id":24625357,"url":"https://github.com/jaozc/user-profile-audit","last_synced_at":"2026-04-18T09:35:59.408Z","repository":{"id":273937590,"uuid":"919495610","full_name":"jaozc/user-profile-audit","owner":"jaozc","description":"User Profile Audit Project","archived":false,"fork":false,"pushed_at":"2025-01-28T00:51:44.000Z","size":48,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-19T08:49:31.598Z","etag":null,"topics":["audit","crud","docker","fastapi","postgresql","python","sql"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jaozc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-20T13:51:45.000Z","updated_at":"2025-01-28T00:51:47.000Z","dependencies_parsed_at":"2025-01-23T21:39:09.382Z","dependency_job_id":null,"html_url":"https://github.com/jaozc/user-profile-audit","commit_stats":null,"previous_names":["jaozc/user-profile-audit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jaozc/user-profile-audit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaozc%2Fuser-profile-audit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaozc%2Fuser-profile-audit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaozc%2Fuser-profile-audit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaozc%2Fuser-profile-audit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaozc","download_url":"https://codeload.github.com/jaozc/user-profile-audit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaozc%2Fuser-profile-audit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31964243,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audit","crud","docker","fastapi","postgresql","python","sql"],"created_at":"2025-01-25T04:33:09.734Z","updated_at":"2026-04-18T09:35:59.380Z","avatar_url":"https://github.com/jaozc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# User Profile Audit\n\n## Project Purpose\nThe User Profile Audit project is designed to provide a robust backend solution for managing user profiles and auditing changes made to them. This application allows for the creation, updating, retrieval, and deletion of user profiles while maintaining a comprehensive audit trail of all actions performed on these profiles. It aims to enhance data integrity and accountability within user management systems.\n\n## Features\n- Create, read, update, and delete user profiles.\n- Audit logging for all actions performed on user profiles.\n- Retrieve active and deleted user profiles.\n- Rollback changes to user profiles based on audit events.\n- User authentication and authorization for secure access.\n- Comprehensive API documentation for easy integration.\n\n## Getting Started\n\n### Prerequisites\n- Docker installed on your machine.\n- Docker Compose (comes with Docker Desktop).\n\n### Installation\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/jaozc/user-profile-audit.git\n   cd user-profile-audit\n   ```\n\n2. Build and run the application using Docker:\n   ```bash\n   docker-compose up --build\n   ```\n\n   This command will:\n   - Build the Docker images defined in the `docker-compose.yml` file.\n   - Start the application and the PostgreSQL database in separate containers.\n\n### PostgreSQL Setup\nThe application uses PostgreSQL as its database. The database configuration is defined in the `docker-compose.yml` file. By default, the application will connect to a PostgreSQL instance running in a Docker container.\n\n- **Database Name**: `audit_db`\n- **User**: `audit_user`\n- **Password**: `password`\n- **Host**: `db` (the name of the PostgreSQL service in Docker)\n\n### Accessing the Application\nOnce the application is running, you can access the API documentation at `http://127.0.0.1:8000/docs`.\n\n## Running Tests\nTo run the tests within the Docker container, use the following command:\n```bash\ndocker exec -it audit_api pytest tests -v\n```\n\nThis command will:\n- Execute the `pytest` testing framework inside the running Docker container named `audit_api`.\n- The `-v` flag enables verbose output, providing detailed information about the tests being run.\n\n## Usage\nOnce the application is running, you can interact with the API using tools like Postman or directly through the Swagger UI provided at the `/docs` endpoint.\n\n## Default Authentication Credentials\n\nFor testing purposes, the application includes default authentication credentials:\n\n- **Username**: `test`\n- **Password**: `secret`\n\nYou can use these credentials to access the API and test the functionality without needing to create a new user profile.\n\n### Example Usage\nWhen making requests to the API, include the credentials in the Authorization header:\n\n```http\nAuthorization: Bearer test\n```\n\n## Copyright\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Credits\n- Developed by [Joao Costa](https://github.com/jaozc)\n- Inspired by the need for efficient user management and auditing in backend systems.\n\n## Acknowledgments\n- Thanks to the FastAPI community for their excellent documentation and support.\n- Special thanks to contributors and testers who helped improve the project.\n\n## Additional Information\nFor any issues or feature requests, please open an issue in the GitHub repository. Contributions are welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaozc%2Fuser-profile-audit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaozc%2Fuser-profile-audit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaozc%2Fuser-profile-audit/lists"}