{"id":20749215,"url":"https://github.com/themysteriousstranger90/socialnetworkv2","last_synced_at":"2026-02-03T06:34:13.951Z","repository":{"id":216286372,"uuid":"734991299","full_name":"TheMysteriousStranger90/SocialNetworkV2","owner":"TheMysteriousStranger90","description":"SocialNetwork project, a comprehensive social networking application developed using a N-Layered Architecture and Angular for the frontend.","archived":false,"fork":false,"pushed_at":"2024-12-17T08:39:29.000Z","size":1401,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-07T01:07:44.346Z","etag":null,"topics":["angular","asp-net","entity-framework","n-layer-architecture","redis","social-network"],"latest_commit_sha":null,"homepage":"","language":"C#","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/TheMysteriousStranger90.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,"zenodo":null}},"created_at":"2023-12-23T09:19:39.000Z","updated_at":"2024-12-17T08:37:46.000Z","dependencies_parsed_at":"2024-01-09T12:27:16.412Z","dependency_job_id":"c744617b-bb4a-4581-8bd7-daeabce475d8","html_url":"https://github.com/TheMysteriousStranger90/SocialNetworkV2","commit_stats":null,"previous_names":["themysteriousstranger90/socialnetworkv2"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/TheMysteriousStranger90/SocialNetworkV2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheMysteriousStranger90%2FSocialNetworkV2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheMysteriousStranger90%2FSocialNetworkV2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheMysteriousStranger90%2FSocialNetworkV2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheMysteriousStranger90%2FSocialNetworkV2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheMysteriousStranger90","download_url":"https://codeload.github.com/TheMysteriousStranger90/SocialNetworkV2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheMysteriousStranger90%2FSocialNetworkV2/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263760871,"owners_count":23507338,"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":["angular","asp-net","entity-framework","n-layer-architecture","redis","social-network"],"created_at":"2024-11-17T08:21:40.303Z","updated_at":"2026-02-03T06:34:08.934Z","avatar_url":"https://github.com/TheMysteriousStranger90.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SocialNetwork\n\n![Image 1](Screenshots/Screen1.png)\n![Image 2](Screenshots/Screen2.png)\n![Image 3](Screenshots/Screen3.png)\n![Image 4](Screenshots/Screen4.png)\n\nWelcome to the SocialNetwork project, a comprehensive social networking application developed using a N-Layered Architecture and Angular for the frontend.\n\n## Technology Stack\n1. **Backend Architecture**: The backend of our application is structured using a N-Layered Architecture, ensuring a clean separation of concerns and a maintainable codebase.\n\n2. **Frontend Framework**: Angular, a robust platform for building web applications, is used for the frontend. It allows us to structure our codebase in a modular and maintainable manner.\n\n3. **UI Components**: For the user interface, we have chosen Angular Material. It's a UI component library that adheres to Material Design principles and offers a wide array of ready-to-use components.\n\n4. **Caching**: Redis, an open-source in-memory data structure store, is used for caching. It serves as a database, cache, and message broker.\n\n5. **Logging**: Serilog is used for logging.\n\n## Running the Application\n\nTo run this project, you need to create an appsettings.json file in the WebAPI section with the following structure:\n\n```\n{\n  \"Logging\": {\n    \"LogLevel\": {\n      \"Default\": \"Information\",\n      \"Microsoft.AspNetCore\": \"Warning\"\n    }\n  },\n  \"AllowedHosts\": \"*\",\n  \"ConnectionStrings\": {\n    \"DefaultConnection\": \"\u003c.....\u003e\",\n    \"Redis\": \"localhost\"\n  },\n  \"Token\": {\n    \"Key\": \"\u003c......\u003e\",\n    \"Issuer\": \"\u003c......\u003e\"\n  },\n  \"CloudinarySettings\": {\n    \"CloudName\": \"\u003c.....\u003e\",\n    \"ApiKey\": \"\u003c.....\u003e\",\n    \"ApiSecret\": \"\u003c.....\u003e\"\n  },\n  \"Authentication\": {\n    \"Google\": {\n      \"ClientId\": \"\u003c.....\u003e\",,\n      \"ClientSecret\": \"\u003c.....\u003e\"\n    }\n  },\n  \"SeqAddress\": \"http://localhost:5341\",\n  \"Serilog\": {\n    \"MinimumLevel\": {\n      \"Default\": \"Information\",\n      \"Override\": {\n        \"Microsoft.AspNetCore\": \"Warning\",\n        \"CarvedRock\": \"Debug\",\n        \"System\": \"Warning\",\n        \"Microsoft.Hosting.Diagnostics\": \"Warning\",\n        \"Microsoft.EntityFrameworkCore.Database.Command\": \"Warning\"\n      }\n    }\n  },\n  \"BlockedIPs\": \"\"\n}\n```\nReplace \"\u003cExample\u003e\" with your actual data respectively.\n\nTo run the application, Docker must be installed on your machine. Docker is used to run Redis and Redis Commander.\n\nHere's our docker-compose.yml file for running the services:\n\n```yaml\nservices:\n  redis:\n    image: redis:latest\n    ports:\n      - 6379:6379\n    command: [\"redis-server\", \"--appendonly\", \"yes\"]\n    volumes:\n      - redis-data:/data\n\n  redis-commander:\n    image: rediscommander/redis-commander:latest\n    environment:\n      - REDIS_HOSTS=local:redis:6379\n      - HTTP_USER=root\n      - HTTP_PASSWORD=secret\n    ports:\n      - 8081:8081\n    depends_on:\n      - redis\n\nvolumes:\n  redis-data:\n  ```\n\nTo start the services, navigate to the directory containing the docker-compose.yml file and execute the following command: docker-compose up\n\n## Environment Configuration\nIn addition to the appsettings.json file, you also need to create an environment.ts file in the ClientAppV2/src/environments/ directory. This file should have the following structure:\n```\nexport const environment = {\n  production: false,\n  apiUrl: 'https://localhost:5001/api/',\n  hubUrl: 'https://localhost:5001/hubs/',\n  googleClientId: '\u003c.....\u003e'\n};\n```\nReplace the placeholders with your actual data respectively. This file is used to store environment-specific settings for the Angular application, such as the API URL and the Google Client ID for Google authentication.\n\n## Usage\nThe SocialNetwork application provides a variety of features that allow users to interact and connect with each other. Here's how you can use the application:\n\n1. Registration: To start using the application, you first need to register.\n\n2. Login: If you already have an account, click on the 'Login' button on the homepage.\n\n3. Browse Users: You can browse other users on the platform. Visit their profiles to learn more about them.\n\n4. Follow Users: If you find interesting users, you can follow them to get their updates.\n\n5. Send Friend Requests: You can send friend requests to other users.\n\n6. Send Messages: You can send private messages to other users.\n\n7. Like Users: If you like an user, show your appreciation by clicking on the 'Like' button.\n\n8. Rate Photos: You can rate photos posted by other users.\n\n9. This application also supports Google authentication. To use this feature, you need to set up a project in the Google Cloud Console, enable the Google+ API, and obtain the client ID and client secret.\n\n## For Administrator Privileges\nEmail: admin.example@outlook.com\n\nPassword: Pa$$w0rd!\n\n## Contributing\nContributions are welcome. Please fork the repository and create a pull request with your changes.\n\n## Author\n\nBohdan Harabadzhyu\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemysteriousstranger90%2Fsocialnetworkv2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthemysteriousstranger90%2Fsocialnetworkv2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemysteriousstranger90%2Fsocialnetworkv2/lists"}