PeriSource is a web application designed to facilitate the search and retrieval of scientific articles based on a list of keywords. The application provides a user-friendly interface for authenticated users to perform various actions.
-
Search Articles:
- Users can search for articles in the title, keywords, authors, and full text containing specified keywords.
- The application supports filtering search results by keywords, authors, institutions, and publication date range.
-
View Articles:
- A list of found articles is displayed, starting with the most recent.
- Users can view details of each article, including textual and PDF formats of the full text.
- Favorite articles can be saved for later reference.
-
Manage Saved Articles:
- Users can view a list of saved scientific articles.
-
Manage Moderators:
- Admins can add, remove, or modify moderators.
-
Article Upload:
- Admins can launch an operation to upload scientific articles from a URL containing a set of PDF files.
- The application extracts text from PDF files, analyzes the text to extract article information, and stores the extracted information in an Elasticsearch index.
- Admins can review and correct extracted information from PDF articles.
-
Moderator Features:
- Moderators, once added by an admin, can perform specific tasks such as reviewing and correcting information extracted from PDF articles.
-
Backend:
- Django (Python web framework)
- Elasticsearch for indexing and searching
- MySQL for data storage
-
Frontend:
- React with Tailwind CSS and Material-UI
-
Containerization:
- Docker for packaging the application
- [List of API endpoints]
- Clone the PeriSource repository.
- Set up the backend and frontend according to their respective README files.
- Install Docker and run the containers.
- Django
- Elasticsearch
- MySQL
- React
- Tailwind CSS
- Material-UI
- Docker
- Bouhadi Haifaa (https://github.com/haifaabh)
- Kamelia Hamadene (https://github.com/kameliaham)
- Guitoun Djihene (https://github.com/dia-na-oct)
- Beletreche Nihad (https://github.com/nihadbellatreche)
- Nacef SalahEddine (https://github.com/salahpy)
- Mouaici Amine (https://github.com/aminemouaici)