Skip to content

Re:Search v0.1.0-alpha

Pre-release
Pre-release

Choose a tag to compare

@p4ntomath p4ntomath released this 12 Apr 20:43
· 367 commits to master since this 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 users collection tracks:
    • uid, name, email, and role.
  • 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 projects collection with user’s uid

📝 Update Project

  • Researchers can edit their own projects
  • Secure update: id, userId, and createdAt fields 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