Article thumbnail

The March Cat Tales. Mobile Application, Web Interface, REST API Server

The March Cat Tales is a multi-component project designed to deliver author-narrated fairy tales and stories through a mobile application, web interface, and REST API server. Built with modern technologies, it prioritizes seamless cross-device experiences, internationalization, and user-centric design.

The project is designed to provide the user with a convenient way to listen to fairy tales, legends, and short stories, narrated by the artist, — in one place. (Currently only in Russian.)

Both the mobile app and the web server are still in MVP status. See TODO section at the end.

Mobile Application

The Flutter-based mobile app is the main component of the project, and offers an immersive listenning experience with robust audio controls.

Mobile Application Screenshots

Key Features:

Web Interface

The web interface is a Django-powered frontend that serves as a companion to the mobile app and as an administrative interface to the database. It uses Django template system with Webpack for client-side asset building (via SCSS and TypeScript).

The administrative panel is implemented using the built-in django admin functional and is complemented by django-unfold.

Web Interface Screenshots

Key Features:

REST API Server

The API server, also built with Django and it’s djangorestframework and django-registration, provides endpoints for both the web interface and mobile application. It handles user authentication, data synchronization, and audio metadata management.

Account Control Screenshots

Key Features:

Administrative Panel Screenshots

Audio Playback

Both the website and the mobile device have relatively identical audio player behavior:

Seamless Cross-Device Experience

Technology Stack

Component Technologies Used
Web Interface Django Templates, Webpack (SCSS/TypeScript)
API Server Django REST Framework, FFmpeg/FFprobe for audio processing
Mobile App Flutter, Just Audio
Internationalization i18n Support (Web + Mobile)
Authorization django-allauth and django-registration
Databses MySQL on the server-side (through Django ORM), sqlite on the dev-server and to store mobile application data.

Why This Project Stands Out

The March Cat Tales demonstrates full-stack expertise, blending Django’s robust backend capabilities with Flutter’s cross-platform flexibility. By separating concerns between the web interface, API server, and mobile app, the project ensures scalability and a cohesive user experience across devices. Whether accessed via browser or mobile, the platform delivers an enchanting storytelling journey with modern tech under the hood.

TODO

At the moment, the project is at the MVP stage. So now we have a lot of tasks for further development.

Mobile application

Resources

Web site: https://tales.march.team/

Web-site and server source code repository: https://github.com/lilliputten/march-tales

Flutter mobile application source code repository: https://github.com/lilliputten/march-tales-flutter-app