{"id":13833807,"url":"https://github.com/shakenovdev/Angular-ASP.NetCoreWebAPI-MySQL-CRUD-project","last_synced_at":"2025-07-10T01:32:53.893Z","repository":{"id":229490882,"uuid":"133865624","full_name":"shakenovdev/Angular-ASP.NetCoreWebAPI-MySQL-CRUD-project","owner":"shakenovdev","description":"Angular 5 + ASP.Net Core 2.0 WebAPI + MySQL CRUD Sample","archived":false,"fork":false,"pushed_at":"2018-05-21T22:50:13.000Z","size":26147,"stargazers_count":39,"open_issues_count":0,"forks_count":51,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-20T18:47:06.141Z","etag":null,"topics":["angular5","angular5-example","asp-net-core","asp-net-core-identity","asp-net-core-sample","asp-net-core-web-api","bootstrap4","cross-platform","crud-sample","entity-framework-core","jwt-authentication","mysql","responsive-design","swagger"],"latest_commit_sha":null,"homepage":"http://ideashareapp.azurewebsites.net","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/shakenovdev.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":"2018-05-17T20:34:00.000Z","updated_at":"2024-09-03T18:53:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"6ef5a379-9755-48a8-ac4f-f84f9d96db6c","html_url":"https://github.com/shakenovdev/Angular-ASP.NetCoreWebAPI-MySQL-CRUD-project","commit_stats":null,"previous_names":["shakenovdev/angular-asp.netcorewebapi-mysql-crud-project"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/shakenovdev/Angular-ASP.NetCoreWebAPI-MySQL-CRUD-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shakenovdev%2FAngular-ASP.NetCoreWebAPI-MySQL-CRUD-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shakenovdev%2FAngular-ASP.NetCoreWebAPI-MySQL-CRUD-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shakenovdev%2FAngular-ASP.NetCoreWebAPI-MySQL-CRUD-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shakenovdev%2FAngular-ASP.NetCoreWebAPI-MySQL-CRUD-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shakenovdev","download_url":"https://codeload.github.com/shakenovdev/Angular-ASP.NetCoreWebAPI-MySQL-CRUD-project/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shakenovdev%2FAngular-ASP.NetCoreWebAPI-MySQL-CRUD-project/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264512634,"owners_count":23620392,"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":["angular5","angular5-example","asp-net-core","asp-net-core-identity","asp-net-core-sample","asp-net-core-web-api","bootstrap4","cross-platform","crud-sample","entity-framework-core","jwt-authentication","mysql","responsive-design","swagger"],"created_at":"2024-08-04T13:00:29.351Z","updated_at":"2025-07-10T01:32:53.429Z","avatar_url":"https://github.com/shakenovdev.png","language":"C#","readme":"![Mockup](Mockup.jpg)\n[Mockup source](https://www.anthonyboyd.graphics/mockups/2017/modern-iphone-x-macbook-pro-mockup-vol-2/)\n# IdeaShare Angular-WebAPI project\n\nThis repository contains Web App built on Angular 5 that interacts with WebAPI which has MySQL database\n\n## Table of contents\n1. [Demo](#demo)\n2. [Getting Started](#getting-started)\n    - [Prerequisites](#prerequisites)\n    - [Edit WebAPI config](#edit-webapi-config)\n    - [Code-first database migration](#code-first-database-migration)\n    - [Run project](#run-project)\n3. [Functionality Overview](#functionality-overview)\n    - [Features](#features)\n    - [WebAPI documentation](#webapi-documentation)\n    - [Page navigation](#page-navigation)\n4. [Built With](#built-with)\n5. [Roadmap](#roadmap)\n6. [Authors](#authors)\n7. [License](#license)\n\n## [Demo](http://ideashareapp.azurewebsites.net)\n\n- SignUp email verification is limited to 100 emails per day due to free plan.\n- Image uploading is restricted up to 500 KB\n- Froala WYSIWYG is trial so the red alert stays above editor\n\n*Reminder for Russia citizens: Microsoft Azure is banned in Russia (use VPN)*\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js\n- Angular CLI\n- .NET Core Framework\n\n### Edit WebAPI config\n\nSettings are located in [appsettings.json](WebApi/appsettings.json). Change `insert_here` to your own keys.\n \n- ConnectionString\n- JWT SecretKey\n- Email/SendGridAPIKey [how to create SendGrid?](https://docs.microsoft.com/en-us/azure/sendgrid-dotnet-how-to-send-email)\n\n### Code-first database migration\n\nGenerate database `dotnet ef migrations add InitialMigration` then `dotnet ef database update`\n\n### Run project\n\nRun `ASPNETCORE_Environment=Development dotnet run` to build project.\n\n## Functionality Overview\n\n### Features\n\n* Cross Platform\n* CRUD operations\n* Entity Framework Core MySQL\n* JWT Authentication\n* Swagger API documentation\n* Responsive Design\n\n### WebAPI documentation\n\nOnline API documentation is located on [/Swagger](http://ideashareapp.azurewebsites.net/swagger/)\n\n### Page navigation\n\n- **Home**\n    - **Home** ../\n        - article list with infinite scrolling\n        - the most popular tags\n        - user leaderboard\n    - **Dependencies** ../dependencies\n        - static page\n        - information about used frameworks and third party libraries\n    - **Contacts** ../contacts\n        - static page\n- **Auth**\n    - **SignIn** ../auth/signin\n        - store JWT token in localStorage\n    - **SignUp** (/auth/signup)\n        - Email verification\n- **Idea**\n    - **Add new** ../idea/new\n        - Auth guard (redirects if user is not logged)\n        - edit list of tags\n        - article editor WYSIWYG\n    - **Details** ../idea/:id\n        - like/dislike button\n        - raw html render\n        - favorite button\n        - edit/restore button\n        - comments section\n    - **Search** ../idea/search/:value\n        - search by value in title and article\n- **Profile**\n    - **User info** ../profile/:username\n        - information about user\n        - list of favorited articles\n        - list of created articles\n    - **Settings** ../settings\n        - edit avatar\n        - change username\n\n## Built With\n\n* **ASP.NET Core 2.0 WebAPI**\n* **Angular 5**\n* **MySQL**\n\n## Roadmap\n\n- [ ] Localization\n- [ ] WebAPI.Tests\n- [ ] Edit articles/comments\n- [ ] Administrator dashboard\n\n## Authors\n\n* **Damir Shakenov** - [shakenovdev](https://github.com/shakenovdev)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n","funding_links":[],"categories":["Sample Projects"],"sub_categories":["Workflow"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshakenovdev%2FAngular-ASP.NetCoreWebAPI-MySQL-CRUD-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshakenovdev%2FAngular-ASP.NetCoreWebAPI-MySQL-CRUD-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshakenovdev%2FAngular-ASP.NetCoreWebAPI-MySQL-CRUD-project/lists"}