Description:
The MorsedCode Engine is an interactive Flask web application that allows users to convert plain text into Morse code and decode Morse code back into readable text. The system goes beyond basic conversion — it integrates user registration, authentication, message storage, and email notifications, offering a real-world messaging experience built on top of Morse Code translation.
Authenticated users can send Morse-coded messages to others through the platform. Each message is stored securely in an SQL database with sender and receiver relationships, message encryption placeholders, and secret key functionality for future enhancements. The app features a well-designed front end powered by Bootstrap, custom CSS, and reusable templates for a consistent and modern user interface.
Objectives:
- To build a full-stack web application showcasing back-end development, database integration, and front-end templating using Flask.
- To apply Object-Oriented Programming (OOP) principles and modular code organization (separate classes and form handling).
- To demonstrate user authentication, form validation, and data persistence using SQLAlchemy ORM.
- To develop a realistic communication system where users can exchange encoded messages.
- To enhance understanding of Flask ecosystem tools like WTForms, Flask-Login, and Flask-Bootstrap.
Tools used:
Python, Flask (with Flask-Bootstrap| Flask-SQLAlchemy| Flask-Login), HTML5 | CSS3 | Bootstrap 5 | Jinja2 templating, SQLAlchemy ORM with SQLite, Python Dotenv, Werkzeug for password hashing, WTForms
Stake holders:
Developer: Ibidapo Ogundeji
End Users:
- Individuals interested in secure or secret message communication.
- Students learning about Flask and web app security.
- Developers exploring text encoding and encryption workflows.
Potential Beneficiaries: Educational institutions, communication enthusiasts, and open-source learners.
Role Played:
Designed the entire database schema, including user–message relationships using SQLAlchemy.
- Built registration, login, and logout systems with secure password hashing.
- Developed routes for encoding and decoding messages via custom Morse conversion logic.
- Implemented Flask-Login session management and role-based restrictions.
- Designed the user interface with Jinja templates, Bootstrap styling, and modular layouts (
base.html
, navigator_temp.html
, footer_temp.html
). - Integrated email notifications for message delivery alerts.
- Performed testing and debugging to ensure smooth navigation and security compliance.
Business Impacts:
- Showcases strong technical capability in full-stack Python development — valuable for software engineering, data, and DevOps roles.
- Demonstrates a production-ready web system that can be extended into a secure communication platform or educational web app.
- Enhances personal brand visibility on professional platforms (GitHub, LinkedIn) as a developer skilled in Flask, database design, and web security.
- It is currently serving as my portfolio highlight for showcasing integration of backend logic, front-end design, and real-world data operations.
Next Step:
- Encryption Upgrade: Implement actual encryption/decryption using the secret key field for enhanced message security.
- UI Enhancements: Add dark/light mode toggle, improved animations, and responsive layouts for mobile users.
- Email Verification: Include confirmation links for new user signups.
- Message Search & Filters: Enable users to search their inbox by sender, title, or date.
- Cloud Deployment: Host the app on platforms like Render or AWS for global accessibility.
- REST API: Develop an API endpoint for third-party integrations or mobile app use.
- Notifications Dashboard: Introduce a frontend section for message status tracking (sent, read, encrypted).
Duration:
14 days
Team size:
1
Project Link