{"id":24561969,"url":"https://github.com/anganda/messengerapp","last_synced_at":"2025-03-16T22:44:56.102Z","repository":{"id":272652897,"uuid":"917326811","full_name":"AngAnda/MessengerApp","owner":"AngAnda","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-01T15:45:40.000Z","size":761,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-01T16:23:23.498Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AngAnda.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-15T19:19:07.000Z","updated_at":"2025-02-01T15:45:44.000Z","dependencies_parsed_at":"2025-01-15T21:57:59.684Z","dependency_job_id":"e4494320-c4c4-4915-ab72-08f6951c452f","html_url":"https://github.com/AngAnda/MessengerApp","commit_stats":null,"previous_names":["anganda/messengerapp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngAnda%2FMessengerApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngAnda%2FMessengerApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngAnda%2FMessengerApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngAnda%2FMessengerApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AngAnda","download_url":"https://codeload.github.com/AngAnda/MessengerApp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243945531,"owners_count":20372894,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2025-01-23T08:46:46.647Z","updated_at":"2025-03-16T22:44:56.090Z","avatar_url":"https://github.com/AngAnda.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MessengerApp Project \n\nThis guide will walk you through the necessary steps to configure and run your project, which includes Docker Compose to create containers for MySQL, NestJS, and Nginx, as well as Swagger for API documentation. The setup also includes end-to-end (E2E), integration, and unit tests.\n\n## Prerequisites\n\nMake sure you have the following installed on your system:\n\n- [Docker](https://www.docker.com/get-started)\n- [Docker Compose](https://docs.docker.com/compose/install/)\n- [Node.js](https://nodejs.org/en/download/)\n- [Angular CLI](https://angular.io/cli)\n\n## Setup Steps\n### 1. Clone the Project from GitHub\n\nOpen a terminal and clone your project:\n\n```bash\ngit clone https://github.com/username/your-project.git\ncd your-project\n```\n\n### 2. Set Up Docker Compose for the Database\nThe project uses Docker to create a container for the database, api and gateway. To set up these containers follow the next step.\n\n```bash\ndocker-compose up -d\n```\n\n### 3. Set Up Angular client\nStart the Angular development server with the following command:\n\n```bash\ncd frontend/frontend\nng serve -o\n```\n\n## MessengerApi explained\n![image](https://github.com/user-attachments/assets/188bbe5a-81a3-42b6-a22c-3ae8d9bbffff)\n![image](https://github.com/user-attachments/assets/acb4ddf6-9809-4aa4-a290-acb224db6ae6)\n![image](https://github.com/user-attachments/assets/1ae0481d-c804-4d1c-af11-3e82e5f50ce6)\n\n\n## Messenger app tech stack explained\n![Diagramă fără titlu drawio](https://github.com/user-attachments/assets/424a686e-b166-4389-b0c9-c8c5b0dc0914)\n\n## Database Schema\nThe database schema for the application is defined as follows:\n\nUsers Table: Stores information about the users (username, email, password, etc.)\nConversations Table: Stores the conversation metadata (title.)\nTag: Stores the name of each tag\nUserConversation: stores the association of conversation's and student id's\nMessages Table: Contains the messages exchanged between users (message content, sender_id, receiver_id, timestamp)\nEach table is linked through foreign keys to establish relationships between the different entities, ensuring data integrity\n![Diagramă fără titlu drawio (1)](https://github.com/user-attachments/assets/03600a2e-2025-45bf-b8ea-98d01546a65e)\n\n.\n## Messenger app presentation\n![image](https://github.com/user-attachments/assets/81e6709a-ccdf-4c04-8b72-d6827446ea7c)\n![image](https://github.com/user-attachments/assets/ae26109b-8015-4cd2-8faa-af49504d96d1)\n\n![image](https://github.com/user-attachments/assets/f321d24f-e68e-4737-9d4e-9b0d31b4f8a8)\n\n![image](https://github.com/user-attachments/assets/034969b1-d36b-44cf-a79f-3da64fedf320)\n![image](https://github.com/user-attachments/assets/135ccd4d-5fbb-4e74-9b59-8bdaa8e6741a)\n![image](https://github.com/user-attachments/assets/af658fd7-ebb3-4f21-ad24-24c958ed6412)\n![image](https://github.com/user-attachments/assets/674ec9af-2aee-42e3-9b40-fa31d01171f9)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanganda%2Fmessengerapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanganda%2Fmessengerapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanganda%2Fmessengerapp/lists"}