Task Development - abhiram-shaji/Langroove GitHub Wiki

Primary Important goals

1. Complete Project Proposal

  • Outline app features and goals
  • Identify required technologies (React Native, Expo, Firebase, etc.)

2. Set Up Environment

  • Install React Native and Expo
  • Set up Firebase for authentication
  • Set up Git for version control
  • Create project structure

Implement a global theme - Colors, Transitions and fonts

3. UI/UX Design

  • Create wireframes for each screen (Sign Up, Login, Topics, Chat, Profile)
  • Get feedback and make necessary changes

4. Frontend Development (React Screens)

  • Set up variables for color
  • Authentication Screens
    • Sign Up
    • Login
    • Forgot Password
    • Change Password
  • User Authentication
    • Implement Firebase Authentication
    • OTP verification via email
  • Main Features
    • Topics Page (Feed of Topics)
    • Enlarged Topic View with Comments
    • Chat Screen
    • User Profile
    • Account Settings, About, Privacy

5. Backend Integration

  • Set up Firebase Authentication
  • Implement Firestore for storing user data, topics, and messages
  • API integration (translation API for real-time translation in chat)

6. Core Functionalities

  • Profile Functions
    • User Profiles (avatars, personal info)
    • Friend Requests and Friends List
  • Topic Feed
    • Public and Private Topics
    • Comments on Topics
  • Chat System
    • One-on-one and group messaging
    • Translation API in chat

7. Testing

  • Unit testing for authentication and chat functionalities
  • UI/UX testing across various devices
  • Bug fixing and feedback integration

8. MVP Documentation and Polishing

  • Ensure the app meets MVP criteria
  • Update documentation (readme, features)
  • Polish UI and address UX feedback

Further Feature Development (if time permits)

Post-MVP Features:

1. Moderation Tools for Audio and Text Chats

  • Implement AI-powered tools to detect inappropriate content in text chats.
  • Integrate voice-to-text moderation for audio chats to detect spoken language violations.
  • Set up user reporting features for additional community moderation.

2. Language Games with a Point System

  • 2 Truths and 1 Lie
    • Develop the game interface and backend logic where users submit statements, and others guess the false one.
  • Find the Right Translation
    • Create a game where users are presented with a sentence and three translation options; the first to guess correctly gets a point.
  • Words Match
    • Develop a word matching game where users match words with their translations. The first to complete the task gets a point.
  • Implement a point tracking system across games to encourage competition and participation.

3. Group Chats (Text & Audio)

  • Group Text Chats
    • Develop functionality for group text chats, allowing multiple users to communicate and learn together.
    • Add features for group chat creation, user invitations, and moderation controls.
  • Audio Group Chats (Party Calls)
    • Create a party call feature for voice chats with multiple users.
    • Include options for one user to moderate the conversation and ensure the group sticks to the target language.

4. Brochure Website and Social Media Marketing

  • Develop a simple brochure-style website to showcase app features, user testimonials, and download links.
  • Set up social media accounts and create content aimed at attracting learners and building a community around language learning.
  • Launch a targeted marketing campaign to drive traffic to the app.