Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: change project structure #2

Merged
merged 37 commits into from
Oct 4, 2024
Merged
Changes from 1 commit
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
5834046
feat: edit or delete unnecessary files and projects
HlibPavlyk Sep 1, 2024
1945731
feat: update domain entities
HlibPavlyk Sep 2, 2024
0e45a68
feat: update entity type configuration
HlibPavlyk Sep 2, 2024
b018300
feat: add backend presentation layer
HlibPavlyk Sep 2, 2024
1dcc94a
feat: fix repositories
HlibPavlyk Sep 2, 2024
592ae5b
feat: improve repositories
HlibPavlyk Sep 3, 2024
45bab86
feat: fix auth service
HlibPavlyk Sep 3, 2024
c82d41f
feat: recreate base backend logic
HlibPavlyk Sep 6, 2024
0581232
feat: add patch endpoints
HlibPavlyk Sep 6, 2024
ce63ddf
feat: update repositories and entity configs
HlibPavlyk Sep 7, 2024
7c6510c
feat: complete album endpoints
HlibPavlyk Sep 7, 2024
b4c8786
feat: add unit tests for created services
HlibPavlyk Sep 7, 2024
9f9cc2f
feat: add client part based on angular
HlibPavlyk Sep 12, 2024
47a80c5
feat: add album component
HlibPavlyk Sep 15, 2024
12b26f3
feat: add album view component
HlibPavlyk Sep 15, 2024
eee7df4
feat: add top bar component
HlibPavlyk Sep 15, 2024
9eaca59
feat: add section bar
HlibPavlyk Sep 15, 2024
83783eb
feat: add basic logit to top bar
HlibPavlyk Sep 15, 2024
7b46f3a
feat: add routing
HlibPavlyk Sep 15, 2024
7b1c664
feat: add sorting to albums
HlibPavlyk Sep 23, 2024
3ebec3e
feat: update get paged albums func
HlibPavlyk Sep 24, 2024
78ab2f2
feat: implement album page get on front
HlibPavlyk Sep 24, 2024
280c95a
feat: add register/login components
HlibPavlyk Sep 25, 2024
7e2a19a
feat: add auth guard and interceptor
HlibPavlyk Sep 25, 2024
06f8871
feat: complete login component
HlibPavlyk Sep 25, 2024
d933979
feat: complete register component
HlibPavlyk Sep 25, 2024
eeb33c4
feat: add album-form component
HlibPavlyk Sep 25, 2024
1a71e25
chore: update auth logic
HlibPavlyk Sep 30, 2024
18b1cdb
chore: update form component
HlibPavlyk Sep 30, 2024
b8b86e3
feat: add user service and controller
HlibPavlyk Oct 3, 2024
2adc8c3
feat: add some album service methods
HlibPavlyk Oct 3, 2024
ba1094d
feat: update album view component
HlibPavlyk Oct 3, 2024
6e88355
feat: add profile component
HlibPavlyk Oct 3, 2024
ad0ede9
chore: make some fixes
HlibPavlyk Oct 3, 2024
67b4953
feat: add stats component
HlibPavlyk Oct 3, 2024
3c52f68
feat: add author row to album cards
HlibPavlyk Oct 4, 2024
7825fbf
feat: update link to user profile
HlibPavlyk Oct 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
feat: update domain entities
- also add necessary enums
- make other non-related small fixes
HlibPavlyk committed Sep 2, 2024
commit 19457319ee6e0091f88edb03f9763dec52515d6b
Original file line number Diff line number Diff line change
@@ -2,8 +2,8 @@

namespace CoinyProject.Application.Abstractions.Repositories
{
public interface IFavoriteAlbumRepository : IBaseRepository<FavoriteAlbums>
public interface IFavoriteAlbumRepository : IBaseRepository<FavoriteAlbumElements>
{
Task<FavoriteAlbums?> GetFavoriteAlbumByAlbumId(int? id);
Task<FavoriteAlbumElements?> GetFavoriteAlbumByAlbumId(int? id);
}
}
4 changes: 4 additions & 0 deletions src/CoinyProject.Domain/CoinyProject.Domain.csproj
Original file line number Diff line number Diff line change
@@ -11,4 +11,8 @@
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="8.0.2" />
</ItemGroup>

<ItemGroup>
<Folder Include="ValueObjects\" />
</ItemGroup>

</Project>
5 changes: 4 additions & 1 deletion src/CoinyProject.Domain/Entities/Album.cs
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@

using CoinyProject.Domain.Enums;

namespace CoinyProject.Domain.Entities
{
public class Album
{
public Guid Id { get; set; }
public string Name { get; set; }
public string? Description { get; set; }
public AlbumStatus Status { get; set; }
public int Rate { get; set; }
public Guid? UserId { get; set; }

public User? User { get; set; }
public ICollection<AlbumElement>? Elements { get; set; }
public ICollection<FavoriteAlbums>? FavoriteAlbums { get; set; }
public ICollection<FavoriteAlbumElements>? FavoriteAlbums { get; set; }
}
}
1 change: 1 addition & 0 deletions src/CoinyProject.Domain/Entities/AlbumElement.cs
Original file line number Diff line number Diff line change
@@ -6,6 +6,7 @@ public class AlbumElement
public Guid Id { get; set; }
public string Name { get; set; }
public string? Description { get; set; }
public int Rate { get; set; }
public string ImageURL { get; set; }
public Guid AlbumId { get; set; }

7 changes: 4 additions & 3 deletions src/CoinyProject.Domain/Entities/Auction.cs
Original file line number Diff line number Diff line change
@@ -4,6 +4,7 @@
using System.Reflection.Metadata.Ecma335;
using System.Text;
using System.Threading.Tasks;
using CoinyProject.Domain.Enums;

namespace CoinyProject.Domain.Entities
{
@@ -15,9 +16,9 @@ public class Auction
public decimal BetDelta { get; set; }
public DateTime StartTime { get; set; }
public DateTime ExpirationTime { get; set; }
public bool IsSoldEarlier { get; set; }
public AuctionStatus Status { get; set; }

public virtual AlbumElement AlbumElement { get; set; }
public virtual ICollection<AuctionBet> AuctionBets { get; set; }
public AlbumElement AlbumElement { get; set; }
public ICollection<AuctionBet> AuctionBets { get; set; }
}
}
12 changes: 7 additions & 5 deletions src/CoinyProject.Domain/Entities/AuctionBet.cs
Original file line number Diff line number Diff line change
@@ -4,18 +4,20 @@
using System.Reflection.Metadata.Ecma335;
using System.Text;
using System.Threading.Tasks;
using CoinyProject.Domain.Enums;

namespace CoinyProject.Domain.Entities
{
public class AuctionBet
{
public int Id { get; set; }
public Guid Id { get; set; }
public decimal Price { get; set; }
public string UserId { get; set; }
public int AuctionId { get; set; }
public AuctionBetStatus Status { get; set; }
public Guid UserId { get; set; }
public Guid AuctionId { get; set; }

public virtual User User { get; set; }
public virtual Auction Auction { get; set; }
public User User { get; set; }
public Auction Auction { get; set; }

}
}
17 changes: 7 additions & 10 deletions src/CoinyProject.Domain/Entities/Discussion.cs
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CoinyProject.Domain.Enums;

namespace CoinyProject.Domain.Entities
{
public class Discussion
{
public int Id { get; set; }
public Guid Id { get; set; }
public string Name { get; set; }
public string? UserId { get; set; }
public int DiscussionTopicId { get; set; }

public User? User { get; set; }
public Guid UserId { get; set; }
public DiscussionTopic Topic { get; set; }
public DiscussionStatus Status { get; set; }
public DiscussionTopic DiscussionTopic { get; set; }

public User? User { get; set; }
public ICollection<DiscussionMessage>? Messages { get; set; }
}
}
6 changes: 3 additions & 3 deletions src/CoinyProject.Domain/Entities/DiscussionMessage.cs
Original file line number Diff line number Diff line change
@@ -8,10 +8,10 @@ namespace CoinyProject.Domain.Entities
{
public class DiscussionMessage
{
public int Id { get; set; }
public Guid Id { get; set; }
public string Message { get; set; }
public int DiscussionId { get; set; }
public string? UserId { get; set; }
public Guid DiscussionId { get; set; }
public Guid UserId { get; set; }

public User? User { get; set; }
public Discussion Discussion { get; set; }
18 changes: 0 additions & 18 deletions src/CoinyProject.Domain/Entities/DiscussionTopic.cs

This file was deleted.

18 changes: 18 additions & 0 deletions src/CoinyProject.Domain/Entities/FavoriteAlbumElements.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CoinyProject.Domain.Entities
{
public class FavoriteAlbumElements
{
public Guid Id { get; set; }
public Guid UserId { get; set; }
public Guid AlbumElementId { get; set; }

public User User { get; set; }
public AlbumElement AlbumElement { get; set; }
}
}
18 changes: 0 additions & 18 deletions src/CoinyProject.Domain/Entities/FavoriteAlbums.cs

This file was deleted.

6 changes: 4 additions & 2 deletions src/CoinyProject.Domain/Entities/User.cs
Original file line number Diff line number Diff line change
@@ -2,16 +2,18 @@

namespace CoinyProject.Domain.Entities
{
public sealed class User : IdentityUser
public class User : IdentityUser
{
public User(string userName, string email) : base(userName)
{
Email = email;
}

public int DiscussionRate { get; set; }

public ICollection<Album>? Albums { get; set; }
public ICollection<AuctionBet>? AuctionBets { get; set; }
public ICollection<FavoriteAlbums>? FavoriteAlbums { get; set; }
public ICollection<FavoriteAlbumElements>? FavoriteAlbumElements { get; set; }
public ICollection<Discussion>? Discussions { get; set; }
}
}
7 changes: 7 additions & 0 deletions src/CoinyProject.Domain/Enums/AlbumStatus.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace CoinyProject.Domain.Enums;

public enum AlbumStatus
{
Active,
Inactive
}
7 changes: 7 additions & 0 deletions src/CoinyProject.Domain/Enums/AuctionBetStatus.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace CoinyProject.Domain.Enums;

public enum AuctionBetStatus
{
Beaten,
Winning
}
7 changes: 7 additions & 0 deletions src/CoinyProject.Domain/Enums/AuctionStatus.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace CoinyProject.Domain.Enums;

public enum AuctionStatus
{
Active,
Sold
}
8 changes: 8 additions & 0 deletions src/CoinyProject.Domain/Enums/DiscussionStatus.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
namespace CoinyProject.Domain.Enums;

public enum DiscussionStatus
{
New,
Active,
Solved
}
9 changes: 9 additions & 0 deletions src/CoinyProject.Domain/Enums/DiscussionTopic.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
namespace CoinyProject.Domain.Enums;

public enum DiscussionTopic
{
Numismatic,
Antiquarian,
Philatelic,
Other
}
2 changes: 1 addition & 1 deletion src/CoinyProject.Infrastructure/ApplicationDBContext.cs
Original file line number Diff line number Diff line change
@@ -15,7 +15,7 @@ public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : ba
public DbSet<Discussion> Discussions { get; set; }
public DbSet<DiscussionMessage> DiscussionMessages { get; set; }
public DbSet<DiscussionTopic> DiscussionTopics { get; set; }
public DbSet<FavoriteAlbums> FavoriteAlbums { get; set; }
public DbSet<FavoriteAlbumElements> FavoriteAlbums { get; set; }


protected override void OnModelCreating(ModelBuilder modelBuilder)
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@

namespace CoinyProject.Infrastructure.Repositories
{
public class FavoriteAlbumRepository : BaseRepository<FavoriteAlbums>, IFavoriteAlbumRepository
public class FavoriteAlbumRepository : BaseRepository<FavoriteAlbumElements>, IFavoriteAlbumRepository
{
private readonly ApplicationDbContext _dBContext;

@@ -13,7 +13,7 @@ public FavoriteAlbumRepository(ApplicationDbContext dBContext) : base(dBContext)
_dBContext = dBContext;
}

public async Task<FavoriteAlbums?> GetFavoriteAlbumByAlbumId(int? id)
public async Task<FavoriteAlbumElements?> GetFavoriteAlbumByAlbumId(int? id)
{
return await _dBContext.FavoriteAlbums
.Where(u => u.Id == id)