Skip to content

Clean Architecture Solution Template for .NET 7

License

Notifications You must be signed in to change notification settings

DamilolaAdegunwa/ArrayApp

 
 

Repository files navigation

Implement a login system for users.✔️ Add the ability for users to create and save ideas. Design a user profile page. Implement a search function to allow users to find ideas. Add the ability for users to comment on and rate ideas. Implement a notification system to alert users when their ideas have been commented on or rated. Add the ability for users to categorize their ideas. Implement a system for users to collaborate on ideas. Add the ability for users to share their ideas on social media. Implement a system to track user activity and engagement on the app. Implement a recommendation system to suggest ideas to users based on their interests. Add the ability for users to upload images and videos to their ideas. Implement a system to monitor and moderate user-generated content. Add the ability for users to create and join groups based on their interests. Implement a system to track user achievements and rewards. Add the ability for users to set goals and track their progress. Implement a system for users to challenge each other to complete ideas. Add the ability for users to search for other users and connect with them. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to customize their ideaapp experience by choosing different themes and layouts. Add the ability for users to create and manage to-do lists. Implement a system for users to set reminders and deadlines for their ideas. Add the ability for users to create and share polls and surveys. Implement a system to track user feedback and suggestions. Add the ability for users to share and collaborate on mind maps and diagrams. Implement a system for users to track their progress on ideas and set benchmarks. Add the ability for users to create and share calendars and schedules. Implement a system for users to track their ideas and goals over time. Add the ability for users to set privacy settings for their ideas. Implement a system for users to share and collaborate on documents and files. Add the ability for users to create and share audio and video recordings. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share quizzes and games. Implement a system for users to receive notifications and alerts for important events. Add the ability for users to create and share presentations and slideshows. Implement a system for users to share and collaborate on projects and presentations. Add the ability for users to create and share notes and notes. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share polls and surveys. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share images and graphics. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share infographics and data visualizations. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share web pages and blogs. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share podcasts and audio recordings. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share videos and animations. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share ebooks and PDFs. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share mind maps and diagrams. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share interactive games and quizzes. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share forms and surveys. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share podcasts and audio recordings. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share reports and presentations. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share worksheets and spreadsheets. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share calendars and schedules. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share timelines and graphics. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share diagrams and flowcharts. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share mind maps and concept maps. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share graphs and charts. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share infographics and data visualizations. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share videos and animations. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share web pages and blogs. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share polls and surveys. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share quizzes and games. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share flashcards and study guides. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share puzzles and brainteasers. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share mazes and crosswords. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share riddles and jokes. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share puzzles and games. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share stories and poems. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share drawings and paintings. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share collages and scrapbooks. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share photo albums and galleries. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share recipes and meal plans. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share DIY projects and tutorials. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share crafts and projects. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share gardening and plant care guides. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share workout plans and exercises. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share travel guides and itineraries. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share reviews and ratings. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share gift ideas and lists. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share wish lists and recommendations. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share budget and finance tracking tools. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share event planning and organization tools. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share task and project management tools. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share shopping lists and grocery lists. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share checklists and to-do lists. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share note-taking and journaling tools. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share calendar and scheduling tools. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share recipe and meal planning tools. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share homework and study tools. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share fitness and wellness tracking tools. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share music and audio playback tools. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share photo and image editing tools. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share video and movie playback tools. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share book and ebook reading tools. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share weather and forecast tools. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share social media and communication tools. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share news and information tools. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share language and translation tools. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share gardening and plant care tools. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share DIY and home improvement tools. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share fashion and styling tools. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share health and wellness tracking tools. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share pet care and training tools. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share travel planning and organization tools. Implement a system for users to track their ideaapp usage and activity. Add the ability for users to create and share hobby and interest tracking tools. Implement a system for users to track their ideaapp usage and progress over time. Add the ability for users to create and share language learning and translation tools. Implement a system for users to track their ideaapp usage and activity.

Create a migration using EF Core

Add-Migration MyDemoMigration dotnet ef migrations add MyDemoMigration

Apply the migration using EF Core

Update-Database dotnet ef database update

Remove a migration using EF Core

Remove-Migration dotnet ef migrations remove

Revert a migration using EF Core

Update-database MyInitialMigration dotnet ef database update MyInitialMigration

servers

(localdb)\mssqllocaldb . LAPTOP-87BT59K6

controllers

Sure! Here's an exhaustive list of controllers you might create for building a Twitter replica:

  1. HomeController: Responsible for handling the main home feed and user timelines.
  2. UserController: Handles user profiles, following/unfollowing users, and user-related actions.
  3. TweetController: Manages creating, deleting, and interacting with ideas.
  4. CommentController: Handles commenting on ideas and interacting with comments.
  5. LikeController: Manages liking and unliking ideas.
  6. ReideaController: Handles reideaing and unreideaing ideas.
  7. NotificationController: Manages user notifications, such as mentions and likes.
  8. HashtagController: Handles searching for and displaying ideas with specific hashtags.
  9. ExploreController: Displays trending topics, suggested users, and popular ideas.
  10. MessageController: Manages direct messaging and conversations between users.
  11. SearchController: Handles searching for users, ideas, hashtags, etc.
  12. SettingsController: Manages user account settings, privacy, and preferences.
  13. ReportController: Handles reporting ideas, users, or other content.
  14. BlockController: Manages blocking and unblocking users.
  15. FollowRequestController: Handles user follow requests and approvals.
  16. ListController: Manages user-created lists of other users.
  17. AnalyticsController: Provides analytics and insights for user engagement.
  18. APIController: Offers endpoints for interacting with the application programmatically.
  19. AuthController: Manages user authentication, registration, and password reset.
  20. AdminPanelController: Controls administrative tasks for managing users and content.

HomeController Endpoints (Rough sketch)

  1. GET /idea/feed: Get the main idea feed with ideas from followed users.
  2. GET /idea/timeline/{username}: Get the user's timeline with their ideas.
  3. GET /idea/explore: Get trending topics and suggested users.
  4. GET /idea/search: Search for ideas, users, hashtags, etc.
  5. GET /idea/notifications: Get user notifications (mentions, likes, etc.).
  6. GET /idea/messages: Get direct messages and conversations.
  7. GET /idea/profile/{username}: Get user profile information.
  8. POST /idea: Create a new idea.
  9. POST /idea/comment: Comment on a idea.
  10. POST /idea/like/{ideaId}: Like a idea.
  11. POST /idea/unlike/{ideaId}: Unlike a idea.
  12. POST /idea/reidea/{ideaId}: Reidea a idea.
  13. POST /idea/unreidea/{ideaId}: Unreidea a idea.
  14. POST /idea/follow/{username}: Follow a user.
  15. POST /idea/unfollow/{username}: Unfollow a user.
  16. POST /idea/message: Send a direct message.
  17. PUT /idea/profile/update: Update user profile information.
  18. DELETE /idea/idea/{ideaId}: Delete a idea.
  19. DELETE /idea/comment/{commentId}: Delete a comment.
  20. DELETE /idea/message/{messageId}: Delete a direct message.
  21. GET /idea/settings: Get user account settings.
  22. PUT /idea/settings/update: Update user account settings.
  23. GET /idea/lists: Get user-created lists.
  24. GET /idea/lists/{listId}: Get ideas from a specific user list.
  25. POST /idea/lists/create: Create a new user list.
  26. PUT /idea/lists/{listId}/update: Update a user list.
  27. DELETE /idea/lists/{listId}/delete: Delete a user list.
  28. GET /idea/analytics: Get user engagement analytics.
  29. GET /idea/admin: Access administrative panel (if applicable).

sql

code: var authorsInChigley = await context.Authors .Where(author => author.Contact.Address.City == "Chigley") .ToListAsync(); sql: SELECT [a].[Id], [a].[Name], JSON_QUERY([a].[Contact], '$') AS Contact FROM [Authors] AS [a] WHERE CAST(JSON_VALUE([a].[Contact], '$.Address.City') AS nvarchar(max)) = N'Chigley';

2)sql DECLARE @p0 NVARCHAR(50); SET @p0 = 'Editor''s Picks'; select * from [ArrayAppDb].[dbo].[Categories] where Name = @p0;

  1. sql UPDATE [Authors] SET [Contact] = JSON_MODIFY([Contact], 'strict $.Address', JSON_QUERY(@p0)) OUTPUT 1 WHERE [Id] = @p1;

code: var postcodesInChigley = await context.Authors .Where(author => author.Contact.Address.City == "Chigley") .Select(author => author.Contact.Address.Postcode) .ToListAsync();

sql: SELECT CAST(JSON_VALUE([a].[Contact], '$.Address.Postcode') AS nvarchar(max)) FROM [Authors] AS [a] WHERE CAST(JSON_VALUE([a].[Contact], '$.Address.City') AS nvarchar(max)) = N'Chigley'

code: var orderedAddresses = await context.Authors .Where(author => (author.Contact.Address.City == "Chigley" && author.Contact.Phone != null) || author.Name.StartsWith("D")) .OrderBy(author => author.Contact.Phone) .Select(author => author.Name + " (" + author.Contact.Address.Street + ", " + author.Contact.Address.City + " " + author.Contact.Address.Postcode + ")") .ToListAsync();

sql: SELECT ((((((([a].[Name] + N' (' + CAST(JSON_VALUE([a].[Contact], '$.Address.Street') AS nvarchar(max))) + N', ' + CAST(JSON_VALUE([a].[Contact], '$.Address.City') AS nvarchar(max))) + N' ') + CAST(JSON_VALUE([a].[Contact], '$.Address.Postcode') AS nvarchar(max))) + N')' FROM [Authors] AS [a] WHERE (CAST(JSON_VALUE([a].[Contact], '$.Address.City') AS nvarchar(max)) = N'Chigley' AND CAST(JSON_VALUE([a].[Contact], '$.Phone') AS nvarchar(max)) IS NOT NULL) OR ([a].[Name] LIKE N'D%') ORDER BY CAST(JSON_VALUE([a].[Contact], '$.Phone') AS nvarchar(max));

code:

var postsWithViews = await context.Posts .Where(post => post.Metadata!.Views > 3000) .AsNoTracking() .Select(post => new { post.Author!.Name, Views = post.Metadata!.Views, Searches = post.Metadata.TopSearches, Commits = post.Metadata.Updates }) .ToListAsync();

sql: SELECT [a].[Name], CAST(JSON_VALUE([p].[Metadata], '$.Views') AS int), JSON_QUERY([p].[Metadata], '$.TopSearches'), [p].[Id], JSON_QUERY([p].[Metadata], '$.Updates') FROM [Posts] AS [p] LEFT JOIN [Authors] AS [a] ON [p].[AuthorId] = [a].[Id] WHERE CAST(JSON_VALUE([p].[Metadata], '$.Views') AS int) > 3000

Login Credential:

{ "userName": "[email protected]", "password": "Damilola#123", "userType": 0 }

sample login

{ "code": "200", "shortDescription": "SUCCESS", "object": { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImQxOTk1YmJiLWI0NmMtNGI5YS1iZmQ4LWVkZDQzYjAxNWRiYiIsIm5hbWUiOiJkYW1lZTE5OTNAZ21haWwuY29tIiwiZW1haWwiOiJkYW1lZTE5OTNAZ21haWwuY29tIiwibmJmIjoxNjk3NDQ2OTQ3LCJleHAiOjE2OTc2MjY5NDgsImlzcyI6IkFycmF5QXBwLldlYlVJLklzc3VlciIsImF1ZCI6IkFycmF5QXBwLldlYlVJLkF1ZGllbmNlIn0.JogQrMoXDTNTH8LhXMaUBgMhA6HgwCua-dstIQLRYL4", "refreshToken": "xgXLPGLbfjBwY8LaJR4M72/YhTj/zELklvBUWikwAsg=", "expires": "2023-10-18T12:02:28.0021367+01:00" }, "validationErrors": {} }

{{"alg":"HS256","typ":"JWT"}.{"sub":"your_username","jti":"53eac3e5-ec8f-43eb-bd20-367a6075980a","exp":1697456969,"iss":"https://www.example.com","aud":"WebAppVerify_Audience"}}


{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJkYW1pbG9sYV9hZGVndW53YSIsImp0aSI6IjE1MWJlNjEzLTEzODgtNDI0NS05YmY3LWQzMWY0NWU1ZmM4YSIsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd3MvMjAwOC8wNi9pZGVudGl0eS9jbGFpbXMvcm9sZSI6WyJhZG1pbiIsIm1hbmFnZXIiXSwiZXhwIjoxNjk3NTc1NzU3LCJpc3MiOiJXZWJBcHBWZXJpZnlfSXNzdWVyIiwiYXVkIjoiV2ViQXBwVmVyaWZ5X0F1ZGllbmNlIn0.5c_10rD7oHEsw2gSuVjezAvMrkMug1-pX8B8-czPURo" }

#region others //-- //ActorValidationParameters = default, //AlgorithmValidator = default, //AudienceValidator = default, //AuthenticationType = default, //ClockSkew = default, //ConfigurationManager = default, //CryptoProviderFactory = default, //IgnoreTrailingSlashWhenValidatingAudience = default, //IssuerSigningKeyResolver = default, //IssuerSigningKeyResolverUsingConfiguration = default, //IssuerSigningKeys = default, //IssuerSigningKeyValidator = default, //IssuerSigningKeyValidatorUsingConfiguration = default, //ValidAlgorithms = default, //IssuerValidator = default, //IssuerValidatorUsingConfiguration = default, //LifetimeValidator = default, //NameClaimType = default, //NameClaimTypeRetriever = default, //PropertyBag = default, //RequireAudience = default, //RequireExpirationTime = default, //RequireSignedTokens = default, //RoleClaimType = default, //RoleClaimTypeRetriever = default, //SaveSigninToken = default, //SignatureValidator = default, //SignatureValidatorUsingConfiguration = default, //TokenDecryptionKey = default, //TryAllIssuerSigningKeys = default, //TokenDecryptionKeyResolver = default, //TokenDecryptionKeys = default, //TokenReader = default, //TokenReplayCache = default, //ValidateActor = default, //ValidAudiences = default, //TokenReplayValidator = default, //TypeValidator = default, //ValidateLifetime = default, //ValidateTokenReplay = default, //ValidIssuers = default, //ValidTypes = default, #endregion

{ "email": "[email protected]", "password": "Password#123" }

About

Clean Architecture Solution Template for .NET 7

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 77.8%
  • TypeScript 12.5%
  • HTML 8.7%
  • JavaScript 0.5%
  • SCSS 0.2%
  • CSS 0.2%
  • Other 0.1%