A modern academic content discovery platform that aggregates research papers and academic content into a TikTok-like scrolling experience. Currently integrated with arXiv, with plans to expand to other academic sources.
-
Smart Search System:
- Hybrid search combining keyword matching and semantic similarity
- Real-time content updates from arXiv
- Content caching for improved performance
- Rich paper metadata including authors and categories
- Multi-category paper fetching
-
Interactive Feed:
- Infinite scroll implementation
- Like and bookmark functionality
- Share papers with colleagues
- Dynamic content loading
-
User System:
- JWT-based authentication
- Personal reading lists
- Interaction history (likes and bookmarks)
- Enrichment:
python src/backend/scripts/enrich_existing_data.py- Adds metadata to existing papers
- Population:
python src/backend/scripts/populate_db.py- Fetches and stores papers from multiple arXiv categories
-
Backend:
- FastAPI and Uvicorn
- SQLAlchemy for async database operations
- XML/JSON parsing for API integrations
-
Frontend:
- React with TypeScript
- Responsive design
- FontAwesome icons
- Modern UI components
-
Database:
- SQLite (development)
- PostgreSQL (planned for production)
- Python 3.7+
- Node.js 14+
- npm or yarn
-
Create and activate a virtual environment: python -m venv venv source venv/bin/activate # On Unix/macOS venv\Scripts\activate # On Windows
-
Install dependencies: pip install -r requirements.txt
-
Create a
.envfile based on.env.example -
Start the backend server: uvicorn src.backend.main:app --reload
-
Install dependencies: cd src/frontend npm install
-
Start the development server: npm start
- CORE API
- Semantic Scholar
- PubMed Central
- Google Scholar
- IEEE Xplore
- JSTOR
- ScienceDirect
- Web of Science
- SpringerLink
- ACM Digital Library
- Advanced recommendation system
- Citation network visualization
- Research field clustering
- Collaborative reading lists
- Paper annotations
- Hybrid RAG chatbot
- Expert user verification
- Research impact metrics
- Mobile app version
- Root:
http://localhost:8000/- Returns welcome page
- Search:
http://localhost:8000/search/arxiv?query=your+search+terms- Searches academic papers
- User Interactions:
http://localhost:8000/api/interactions- Handles likes and bookmarks
- Profile:
http://localhost:8000/api/user/interactions- Returns user's interaction history
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.