Skip to content

dwivediprashant/Journal_Lens

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 

Repository files navigation

Journal Lens

Journal Lens is an AI-powered research discovery platform built to simplify how users explore academic journals, papers, and authors in one place. It brings together structured research browsing, secure access, and contextual AI assistance to reduce the friction of finding relevant scholarly content.

Designed for an academic workflow, the platform helps students, researchers, and faculty move from broad journal discovery to detailed paper exploration through a clean and guided interface.

Live Demo

https://journal-lens.vercel.app/

Snapshots

  • Home page

    Screenshot (31)
  • Provider cards

Screenshot (32)
  • Footer

    Screenshot (33)
    • Topics page

      Screenshot (34)
    • Papers under specific topic

      Screenshot (35)
    • Research paper overview card

      Screenshot (36)
  • Detailing page

    Screenshot (37)
  • Chatbot sidebar

    Screenshot (38)

Features

  • Browse journals and open-access research papers in a structured UI.
  • View journal detail pages, paper details, and deeper paper metadata through protected routes.
  • Explore author-related research information through the backend API.
  • Use the integrated AI chatbot for contextual research help.
  • Sign in with Clerk-based authentication for protected content.
  • Load and manage data with React Query for smoother client-side fetching.
  • Track production usage with Vercel Analytics.
  • Use a clean, responsive interface built around the project's blue visual theme.

Frontend Tech Stack

Technology Purpose Icon
React 19 Component-based user interface
Vite Fast development server and production build tooling
React Router Client-side routing
TanStack React Query Server-state management and caching
Clerk React Authentication and user session handling
Tailwind CSS Utility-first styling workflow
Vercel Analytics Production analytics
React Loader Spinner Loading indicators
UUID Unique ID generation where needed
Axios API requests from the frontend

Backend Tech Stack

Technology Purpose Icon
Node.js Runtime environment
Express.js REST API server
Clerk Express Backend authentication middleware
OpenAlex API Research paper and author data source
Groq SDK AI chat and generative responses
Axios External API requests
CORS Cross-origin request handling
dotenv Environment variable management
pdf-parse PDF text extraction support
node-fetch Fetch support inside backend flows

Project Structure

Journal-Lens/
├─ README.md
├─ backend/
│ ├─ index.js
│ ├─ package.json
│ ├─ configs/
│ │ └─ corsOptions.js
│ ├─ middlewares/
│ │ └─ requireAuth.js
│ └─ routes/
│ ├─ author.js
│ ├─ chat.js
│ └─ researchpapers.js
└─ frontend/
├─ index.html
├─ package.json
├─ vite.config.js
├─ eslint.config.js
├─ public/
│ └─ media/
│ ├─ banners/
│ ├─ fields/
│ └─ publishers/
└─ src/
├─ App.jsx
├─ App.css
├─ main.jsx
├─ Contexts/
├─ configs/
└─ components/
├─ auth/
├─ ChatBot/
├─ Footer/
├─ Hero/
├─ Navbar/
├─ loaders/
├─ pages/
│ ├─ Custom_journals/
│ ├─ Detail/
│ ├─ journals/
│ └─ More_detail/
├─ publishers-card/
├─ researchCard/
└─ utils/

Local Setup

1. Prerequisites

  • Node.js 18+ recommended
  • npm installed
  • Clerk, Groq, and OpenAlex API credentials

2. Clone the repository

git clone <your-repo-url>
cd Internship_project_IDEA_LAB

3. Backend setup

cd backend
npm install

Create a .env file inside backend/ with the required variables:

PORT=8080
OPENALEX_API_KEY=your_openalex_api_key
OPENALEX_BASE_URL=https://api.openalex.org
FRONTEND_URL=http://localhost:5173
GROQ_API_KEY=your_groq_api_key
CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key

4. Frontend setup

cd ../frontend
npm install

Create a .env file inside frontend/ with the required variables:

VITE_BACKEND_BASE_URL=http://localhost:8080/api
VITE_LOGO_DEV_PUBLIC_KEY=your_logo_dev_public_key
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key

5. Run the application locally

Start the backend in one terminal:

cd backend
npm start

Start the frontend in another terminal:

cd frontend
npm run dev

NOTE

Journal Lens is an AICTE IDEA Lab internship project built for the LNCT campus. It is designed to make academic research discovery easier by bringing journals, open-access papers, author details, and AI-assisted guidance into a single research-focused platform.

The project aims to support students, faculty, and researchers with a cleaner way to explore academic content, filter relevant material, and move from journal-level discovery to paper-level detail without unnecessary friction.

About

An AICTE IDEA Lab internship project, specifically designed for the LNCT campus.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors