/follow-my-reading

Follow My Reading is an API service software project which is built during Summer 2023 Software Project course at Innopolis University

Primary LanguagePython

License: MIT Packaging: poetry Linting: ruff Code style: black

FastAPI

Follow My Reading 📘

Follow My Reading provides a API service for our users to upload an image and audio of their reading session, and our service checks whether there are any mistakes in pronunciation in the audio.

Here's how it works ⚙️

🌅 users can take a photo of the page

📖 read the page aloud

🎤 record their audio

⬆️ upload image and audio files to sever

🏞️ server can process image

🎵 server can process audio

🖼️ server can compare audio against image

📄 server can compare audio against text

⏬ server can extract audio segments with requested phrases

Frameworks and technologies

FastAPI is a modern, fast (high-performance) web framework for building APIs with Python 3.6+ based on standard Python type hints, making it easy to write and maintain complex APIs in a fast and scalable way.

Redis is an open source, in-memory data structure store, used as a database, cache, and message broker, with support for a wide range of data structures and features that make it highly versatile and efficient.

Huey is a lightweight task queue for Python that allows for easy integration with Redis and asynchronous processing of tasks in distributed systems.

Full list of features ✨

✅ Image and audio upload

✅ Audio Processing

✅ Splitting audio by words or by phrases

✅ Image Processing

✅ Reporting text coordinates on the image

✅ Comparing audio and image

✅ Comparing audio and text

✅ Extracting audio by given phrases

✅ Plugin Support

✅ Multi-language support

✅ Distributed computing using Task System

✅ Authentication

Documentation 📄

We host the documentation for our API here: 🌐 Gitlab Pages, where you will find all the information you need to use our API effectively.

In addition to the API documentation, we also have a detailed wiki that explains everything in detail: 📄 Project Wiki. This resource provides more comprehensive information, so feel free to take a deep dive and explore the different sections.

Team 👥

  • @a.kudryavtsev
  • @a.soldatov
  • @i.sannikov
  • @f.smirnov
  • @l.novikov

License 📃

This project is licensed under the terms of the MIT License.

MIT License