This project demonstrates a real-time collaboration application using React and OPAL (Open Policy Administration Layer). It includes dynamic policy management, a backend service, and integrates with OPAL for policy enforcement.
opal-server
: OPAL server setup using Docker Compose.data-source-service
: Node.js service providing user data.notification-service
: Node.js service handling notifications.backend
: Node.js service interacting with OPAL to enforce policies.
- User Management: Add, edit, delete, and view users with different roles.
- Task Management: Create, update, delete, and view tasks.
- Real-Time Collaboration: Multiple users can interact with the tasks simultaneously.
- Dynamic Policy Management: Uses OPAL to enforce real-time policies based on user roles and permissions.
- Notification Service: Users get notifications for any changes in tasks.
- Docker
- Node.js
- npm
- Clone the repository
git clone https://github.com/JashwanthSA/real-time-collab-webapp-using-OPAL.git
- Setup the opal server
- Navigate into the opal-server directory and download the docker compose configuration to run OPAL
curl -L https://raw.githubusercontent.com/permitio/opal/master/docker/docker-compose-example.yml > docker-compose.yml
docker-compose up
- Setup the data source service
cd opal-server/data-source-service
npm install
node index.js
- Setup the notification service
cd notification-service
npm install
node index.js
- Setup the backend
cd backend
npm install @opal/client
node index.js
- Setup the frontend
cd ../real-time-collab
npm install
npm start
- Run and access the application!