A full-stack web app that enables bidirectional translation between Darija and English, leveraging a seq2seq LSTM encoder-decoder NLP model to accurately process and generate translations in real time.
# π£οΈ Darija to English Translator Web App (Final year project at University)
This is a full-stack web application built with **Django**, **Python**, **HTML**, **CSS**, and **JavaScript** that translates Moroccan Darija (a dialect of Arabic) into English.
Registered users can log in to use the translator, view previous translations, and explore an intuitive, minimal interface.
---
## πΈ Preview
---
## β¨ Features
- π§ Utilises a Seq2Seq model with a LSTM (Long Short-Term Memory) encoder-decoder architecture.
- π **User Registration & Login**
Create an account and log in securely using Django's built-in authentication system.
- π **Darija to English Translationa and vice versa**
Switch between Morrocan Arabic to English and English to Moroccan Arabic translations using a trained NLP model.
- π **Translation History**
Logged-in users can view their previous translations.
- π¨ **Clean, Responsive Interface**
Styled with HTML, CSS, and JavaScript to provide a clean and interactive user experience.
---
## π Technologies Used
- **Backend:** Django (Python)
- **Frontend:** HTML, CSS, JavaScript
- **Authentication:** Django Auth
- **Database:** SQLite (default) or MySQL (optional)
- **Model:** Pre-trained NLP model (DarijaBERT or similar)
---
## π Performance
Whilst some sentences are translated with 100% accuracy, it can be said that the translation accuracy of my models could use some improvement. In my dissertation, I came to the conclusion that training data and computational power were the main limiting factors which contributed to the lack of accuracy in the translations. I also found that the use of a transformer model would have significantly increased my chances of accurate translations due to their ability to use self-attention to directly model relationships between any two tokens regardless of their distance in the sequence. This would be especially beneficially in my project since I found accuracy diminished rapidly in longer sentences and toward β¦