NoteShare is an AI-driven platform designed for Tunisian university students to share, access, and collaborate on academic documents. The platform features advanced functionalities such as document recommendation, a messaging system, duplication tests, and an efficient search engine to enhance the educational experience.
- Document Sharing: Easily upload and share academic materials with other students.
- Duplication Test: Ensure uploaded materials are original and reliable through advanced duplication testing.
- Document Recommendation: AI-powered recommendations to suggest relevant study materials based on user behavior and preferences.
- Chat System: Real-time messaging system allowing students to communicate and collaborate directly.
- Advanced Search: Search documents efficiently using a robust full-text search mechanism.
- User Profile Management: Manage user accounts with secure authentication.
- Frontend: HTML, CSS, JavaScript, BootStrap
- Backend: Django (Python)
- Database: PostgreSQL
- AI & ML: Python libraries for OCR, NLP, and recommendation algorithms
- WebSockets: Enabled real-time communication through Django Channels
- Other Tools: Django REST Framework, Postgres Full-Text Search, Redis for message handling
Here are some screenshots showcasing the NoteShare app:
To get a local copy of the project up and running, follow these simple steps:
Make sure you have the following installed:
- Python 3.x
- Django
- PostgreSQL
- Redis (for real-time messaging with Django Channels)
- Virtual Environment
- Clone the repository:
git clone https://github.com/fediltf/PFE_NoteShare.git cd noteshare
- Set up the virtual environment:
python -m venv venv source venv/bin/activate # On Windows, use: venv\Scripts\activate
- Install the required packages:
pip install -r requirements.txt
- Set up PostgreSQL:
- Create a PostgreSQL database and user.
- Update the DATABASES setting in settings.py with your database details.
- Run migrations:
python manage.py migrate
- Start Redis: Make sure Redis is running on your system.
redis-server
- Run the development server:
python manage.py runserver
- Access the application: Open your web browser and go to http://127.0.0.1:8000.