Repository navigation
Re:Search v0.1.0-alpha
Pre-release
Pre-release
📦 Research Collaboration Platform —Pre Release v0.1.0
🚀 Overview
This release introduces the foundational features for the Research Collaboration Platform, focusing on two primary user roles: Researchers and Reviewers. It includes complete user authentication, role selection and access control, and project management tools for researchers.
🔐 User Authentication System
- Integrated Google Authentication via Firebase.
- On first login:
- Users are prompted to select their role (Researcher or Reviewer).
- Role is stored in Firestore and used for routing and access control.
- Role-based routing:
- Researchers and Reviewers are directed to their respective dashboards.
- Access control prevents unauthorized role access.
👥 User Management
- Firestore
userscollection tracks:uid,name,email, androle.
- User state is managed via Firebase
onAuthStateChanged. - Global role context is used throughout the app for access control and display logic.
📁 Researcher Project Management
Researchers have access to CRUD (Create, Read, Update, Delete) functionalities for managing research projects.
✅ Create Project
- Input fields:
- Title, Description, Research Field
- Start & End Dates, Contact Info
- Dynamic project goals (users can add/remove fields)
- Validation for required fields
- Data stored in
projectscollection with user’suid
📝 Update Project
- Researchers can edit their own projects
- Secure update:
id,userId, andcreatedAtfields are immutable - Updated fields reflect in real-time
🗑️ Delete Project
- Confirmation modal before deletion
- Only the project owner can delete
- UI updates immediately after deletion
📊 Display Projects
- Projects displayed in responsive cards
- Each card includes:
- Title, Field, Description
- Timeline, Goals, Contact Info
- Action buttons:
- Update and Delete per project
🧪 Tech Stack
- Frontend: React + TailwindCSS
- Authentication: Firebase Auth
- Database: Firestore
- State Management: React Hooks (
useState,useEffect) - Component Structure:
- Sidebar, AuthProvider, RoleContext
- ProjectForm, ProjectList, ProjectCard
- Modals for feedback (StatusModal)
🧼 UI/UX Features
- Dynamic role-based dashboards
- Form validation with error prompts
- Confirmation modals for sensitive actions
- Disabled buttons during loading states
- Smooth transitions and responsive design
⚠️ Known Issues / Limitations
- On update, view may scroll to bottom unexpectedly
- Reviewer dashboard is not implemented yet
- No real-time listeners for project collection (manual refresh after changes)
🗂️ Coming Soon
- Reviewer Dashboard with project evaluation functionality
- Real-time updates via Firestore listeners
- Pagination and filtering for projects
- Notifications and collaboration features
Developed with ❤️ using React + Firebase