- Onion architecture, similar to Passenger project:
- FollowUP.Core -> Domain models (promotion, direct, comment etc.), Repositiories
- FollowUP.Infrastructure -> Database, EF, Services, Extensions, Repositories, DTO, Commands, Command Handlers, IoC Modules, Exceptions, Settings
- FollowUP.API -> Controllers
-
Framework -> ASP.Net Core 2.2
-
Database -> SQL Server/SQLite 1
- Libraries -> Autofac, AutoMapper, Newtonsoft.Json, InstaApiSharp
- User -> UserProfile -> ( Promotions -> stats from repository, flags for on/off; Comments(no need to store, only to cache); Direct; Autoposting; Stats [repository of all stats]; )
- User Register and Login -> ASP.Net Core Identity
- JWT Authentication
- roles: admin, user
- Managing profiles (data for each profile)
- Getting available services via Claims on server side
- Promotions
- For each profile create additional bot,
- Get proxy from field,
- Comments scraping and pagination with proper id
- Get comments from post OR from user endpoint (to check)
- Get proper fields (username, email, profile picture, time of comment post)
- Get comment child comments (recursion?),
- Put all data into DTO and expose it to controller.
-
Making orders (make it automatic via flags [if isTrialAvailable, add 5 days to services expiration, set isTrialAvailable to false])
-
Adding funds to wallet via PayU/PayPal/Funds transfer -> Stored in database
-
Live admin panel with login (admin role in Identity) # LOW PRIORITY
- Unit tests,
- E2E tests.
Footnotes
-
Depends on either we want it to be crossplatform or not ↩