Flask Backend with Android App for Cahier de Charge Generation

📖 Overview

This project is a Flask-based backend application integrated with Google Generative AI for generating "Cahier de Charge" documents. It is paired with an Android app (developed in Android Studio) that allows users to interact with the backend for seamless user registration, login, and Cahier generation.

🚀 Features

  • Flask Backend:
    • User authentication (sign-up and login) with hashed passwords.
    • SQLite database for user management.
    • Google Generative AI for generating "Cahier de Charge."
    • RESTful API endpoints for mobile app integration.
  • Android App:
    • User-friendly interface for signing up, logging in, and generating Cahier de Charge.
    • HTTP requests to communicate with the Flask backend.
    • Clean and responsive design for an intuitive experience.

🌟 What Inspired Us

The inspiration for this project came from the need to simplify and automate the creation of technical specification documents, particularly for project managers and teams. We wanted to leverage the power of AI to assist users in generating well-structured, detailed documents while ensuring accessibility through a mobile app.

💡 What We Learned

Throughout the development process, we gained hands-on experience with:

  • Flask Framework: Building and managing a RESTful API backend.
  • Google Generative AI: Configuring and utilizing its content generation capabilities.
  • Android Studio: Designing and coding a robust mobile app with Java.
  • Database Management: Using SQLite to store user data.
  • API Integration: Ensuring smooth communication between the mobile app and the backend.
  • Error Handling: Managing edge cases and debugging API responses.

🛠️ How We Built the Project

Backend

  1. Framework: Flask for building the backend API.
  2. Database: SQLite for lightweight, efficient user data storage.
  3. Password Security: Used Werkzeug for hashing and verifying passwords.
  4. AI Integration: Integrated Google Generative AI for generating content.
  5. Deployment: Configured the backend to run locally on http://0.0.0.0:8080.

Mobile App

  1. Development Platform: Android Studio.
  2. Language: Java.
  3. HTTP Communication: Used libraries like Retrofit or Volley to connect with the backend API.
  4. User Interface: Designed intuitive UI screens for registration, login, and Cahier generation.

🌟 Challenges We Faced

  1. Google Generative AI Integration: Ensuring the API was configured correctly and managing token limits.
  2. Database Integrity: Preventing duplicate users (e.g., emails or phone numbers).
  3. Cross-Platform Integration: Debugging and testing the communication between the Flask backend and the Android app.
  4. Error Handling: Ensuring all possible edge cases were handled gracefully for a better user experience.
  5. Mobile Design: Creating a responsive and easy-to-navigate interface for the Android app.

🔧 Project Setup and Usage

Backend

  1. Clone the Repository ```bash git clone cd

Built With

Share this project:

Updates

Submission history