ReactJS
Python
TypeScript
Flask
Firebase
TailwindCSS
Shadcn/ui
English ⇔ Darija Translator Project
This project is more than just a technical demonstration – it's a tool designed to bridge communication gaps and support cultural exchange. I've poured my heart and expertise into creating a resource that will be truly useful for both visitors to Morocco and those interested in learning our unique language.
This project combines my passion for technology with a desire to contribute meaningfully to the community. It represents not just what I've learned, but also my vision for how software can solve real-world problems and bring people together.
I started this as my final portfolio submission for the ALX Software Engineering program (Holberton School). But then, I decided to take it a step further and make it live for everyone to use. This project represents the culmination of my learning journey and showcases the skills I've developed throughout the course.
-
Frontend:
ReactJSwith TypeScript.Tailwind CSSShadcn/ui
-
Backend:
Flask(Python framework) for creating APIs.
-
Database:
MySQLfor managing structured data.Firebaseto power the community forum.
-
Third-Party Services:
Algoliafor advanced search capabilities.SendGridfor handling email communications.
Ensure you have the following tools installed on your machine:
Python 3.12Node.js(preferably v20 or later)MySQL
git clone https://github.com/EL-OUARDY/AtlasLingua.git
cd AtlasLinguanpm install
Copy .env.example to .env and replace placeholder values with actual values.
cd apipython -m venv venv
source venv/bin/activatepip install -r requirements.txt
Copy .env.example to .env and replace placeholder values with actual values.
Create a MySQL database, configure the connection in the .env file, and then run the migration.
flask db init flask db migrate flask db upgrade
python run.py
This will start the Flask server at http://localhost:5000.
cd ..
npm run devThis will start the frontend development server at http://localhost:3000.
Visit http://localhost:3000 in your browser to see the frontend.