Welcome to Scholars' Haven, a dynamic scholarly platform powered by Permit.io for role-based access control and MongoDB for flexible data management.
Scholars' Haven is designed to facilitate seamless collaboration and knowledge sharing among students, professors, and researchers. It provides a secure environment where users can manage scholarly papers, provide feedback, and ensure compliance with dynamic access controls.
Scholars' Haven utilizes Permit.io for fine-grained access control based on roles and actions. Each user role (student, professor, researcher) has specific permissions:
- Student: Can upload research papers and view their own submissions.
- Professor: Can perfom actions similar to that of students and additionally, review student papers, provides feedback, and manages submissions.
- Researcher: Perform all actions as above and additionally explores published papers, reports inappropriate content, and moderates submissions.
- Admin: Mangaes the whole dashboard
- Moderator: Manages the community of scholars in the join community forum [ on hold for now ]
Permit.io ensures that access rights are dynamically adjusted based on real-time policies, enhancing security and compliance.
- Upload Paper: Upload research papers for review.
- View Uploads: Access and manage their own uploaded papers.
- Upload Paper: Upload research papers for review.
- View Uploads: Access and manage their own uploaded papers.
- Review Papers: Evaluate student submissions and provide feedback.
- Manage Submissions: Monitor and manage all student papers.
- Upload Paper: Upload research papers for review.
- View Uploads: Access and manage their own uploaded papers.
- Review Papers: Evaluate student submissions and provide feedback.
- Manage Submissions: Monitor and manage all student papers.
- Explore Papers: Browse and search through published papers.
- Flag Content: Report inappropriate content and manage moderation.
Checkout the demo here: https://youtu.be/kvuBSblGXJ4
- Frontend: Next.js and React for responsive UI/UX.
- Backend: Node.js.
- Database: MongoDB for scalable data storage.
- Authorization: Permit.io for dynamic access control.
- Authentication: Firebase Authentication for secure user login.
To run Scholars' Haven locally, follow these steps:
git clone https://github.com/your-username/scholars-haven.git
cd scholars-haven
npm install
Create a .env file in the root directory.
Add the following environment variables:
PERMIT_API_KEY=your_permit_api_key
FIREBASE_API_KEY=your_firebase_api_key
FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
FIREBASE_PROJECT_ID=your_firebase_project_id
MONGODB_URI=your_mongodb_uri
npm run dev
Open your browser and navigate to http://localhost:3000.