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.