A team should prepare following project on Windows Server:
Back-end: .Net Core + SignalR
- User dotnetify for .Net library ([login to view URL]) as back-end solution.
- Use: create-react-app + Node.js + .NET Core version
- Push updated to the front-end via SignalR
- NO REST communication with Front-end (all based on above liblary)
- On frontend you should use: [login to view URL]
- Install MongoDB on the server
- Store used credentials + all data about connected FB pages
EventStore: ([login to view URL])
- Install Eventstore on the server
- Accept all event coming from Facebook Webhooks
- Publish all event FB events to subscribers
- SSO with Facebook
- User data should be remembered in MongoDB
All system actions should be logged in the flat-files
Create Facebook Messenger Webhook that will accept all messages and events sent by Facebook Messenger (no need to parse them, accepting json is enough)
- All event should be “Written to a Stream” in EventStore (AppendToStreamAsync) in a json form
- All event should be saved inside of MongoDB (Async as well)
Create Eventstore subscriber:
- Read all Events from Eventstore
- Push them via SignalR to the right user to the front-end
- Create account using Facebook Auth (login with Facebook)
- Accept admin access to all managed pages
- Connect page with our Facebook App to receive all messages and other events
- Display all event on the front-end in real time and segregated them by ID of the user that have interaction with the page. Look for ID of the user that interacted with the page and based on that determine if message has been send of received by the page.
o On the GUI side use 2x“Lists” theme (see attachement)
After granting a project a team will be given:
- Source code of Reactjs theme
- Admin access to Windows Server on AWS
- Admin access to Facebook App
Quick delivery is the key.
Acceptance test will be performed before final acceptance.
End result Screens with steps you will find in the attachment
Please see screanshots in the attached file
Change: Application login should be based on the template (login + password) + registration page.
Template has this pages