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 goal is 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.)

Mobile application screens' previews.
Mobile application screens' previews.

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

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.

The public web site is available at: https://tales.march.team/.

Web Interface Screenshots

Key Features:

Mobile Application

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

The application has been already published on the Google Play Store.

Mobile Application Screenshots

Key Features:

REST API Server

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

Account Control Screenshots

Key Features:

See also: Notes about Django FlatPages integration on the project.

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.

Project summary

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, like monetization, more advanced user cabinets, E-mail and push notifications, etc. And we will be grateful for any suggestions and feedback.

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