Skip to content

A community-driven app for Tunisian students to share, learn, and explore algorithms in Python and more. Includes bookmarking, comments, achievements, and a sleek Material You design.

License

Notifications You must be signed in to change notification settings

MoonMeet/AlgorithmeTN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

AlgorithmeTN

Get it on Google Play React Native TypeScript Firebase Material Design

Caution

PROJECT STATUS: DISCONTINUED

This project is currently discontinued because it didn't go as I planned. If I see any contributions, I will get back to work on the project.

A comprehensive educational platform for Tunisian Baccalaureate students to master algorithms and programming concepts


๐ŸŒŸ About

Note

AlgoTN is a modern React Native application specifically designed for Tunisian high school students preparing for their Baccalaureate exams.

The app provides an interactive platform to learn, practice, and share algorithms across different educational tracks:

  • ๐Ÿงช Sciences Naturelles (Natural Sciences)
  • ๐Ÿ’ป Sciences Informatiques (Computer Science)
  • ๐Ÿ“Š ร‰conomie & Gestion (Economics & Management)

๐ŸŽฏ Mission

To democratize algorithm education in Tunisia by providing accessible, interactive, and culturally relevant learning materials in multiple languages.

โœจ Features

๐Ÿ“š Educational Platform

Grade Levels: [1รจre, 2รจme, 3รจme, BAC]
Tracks: [Sciences Naturelles, Sciences Informatiques, ร‰conomie & Gestion]
Content: Interactive algorithms with step-by-step explanations
Progress: Bookmark system and achievement tracking

๐Ÿ’ป Advanced Code Editor

Languages: [JavaScript, Python, Java, C++, PHP, SQL, Custom "algo" pseudocode]
Features: [Syntax highlighting, Real-time editing, Copy/paste, Undo/redo]
Integration: Seamless WebView integration with native app

๐ŸŒ Social & Sharing

Community: [Comments system, Like/bookmark functionality]
Profiles: [User statistics, Achievements, Activity feeds]
Notifications: Real-time updates and notifications

๐ŸŽจ Modern UX/UI

Design: Material Design 3 with React Native Paper
Themes: [Dark mode, Light mode, System integration]
Animation: Smooth transitions with Reanimated 3
Responsive: Adaptive design for all screen sizes

๐Ÿš€ Installation

Important

Prerequisites: Ensure you have the following installed before proceeding

flowchart TD
    A[Node.js >= 16.x] --> B[Yarn Package Manager]
    B --> C[React Native CLI]
    C --> D[Android Studio]
    C --> E[Xcode macOS only]
    D --> F[Ready to Build!]
    E --> F
Loading

โšก Quick Start

Tip

Follow these steps to get the project running locally

# 1. Clone the repository
git clone https://github.com/yourusername/AlgorithmeTN.git
cd AlgorithmeTN

# 2. Install dependencies
yarn install

# 3. Install iOS dependencies (macOS only)
cd ios && pod install && cd ..

# 4. Start Metro bundler
yarn start

# 5. Run on your platform
yarn android  # For Android
yarn ios      # For iOS (macOS only)

๐Ÿ”ง Environment Setup

Warning

Required Configuration: These steps are mandatory for the app to function properly

Firebase Configuration

# Add your Firebase config files to:
# ๐Ÿ“ android/app/google-services.json
# ๐Ÿ“ ios/AlgoTN/GoogleService-Info.plist

OneSignal Setup

# Configure OneSignal App ID in your environment variables
ONESIGNAL_APP_ID=your_app_id_here

Appodeal Integration

# Set up Appodeal keys for monetization
APPODEAL_API_KEY=your_api_key_here

๐Ÿ—๏ธ Project Structure

AlgorithmeTN/
โ”œโ”€โ”€ ๐Ÿ“ src/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ components/           # Reusable UI components
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ baseview/        # Base layout component
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ code-editor-webview/  # Custom code editor with algo syntax
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ modals/          # Modal components (image picker, etc.)
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ numbered-list/   # Instruction list component
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“ spacer/          # Layout spacing utilities
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ config/              # Configuration files
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ i18n/           # Internationalization (FR/EN/AR)
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ navigation/     # Navigation setup & deep linking
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ storage/        # MMKV storage configuration
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“„ dimensions.ts    # Responsive design helpers
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ screens/             # Application screens
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ algo/           # Algorithm viewing & editing
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ home/           # Main app screens
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ login/          # Authentication flow
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“ settings/       # User settings & preferences
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ types/              # TypeScript type definitions
โ”‚   โ””โ”€โ”€ ๐Ÿ“ utils/              # Helper functions & utilities
โ”œโ”€โ”€ ๐Ÿ“ android/                # Android-specific code
โ”œโ”€โ”€ ๐Ÿ“ ios/                    # iOS-specific code
โ””โ”€โ”€ ๐Ÿ“„ package.json           # Dependencies & scripts

๐Ÿค Contributing

Note

We welcome contributions! This project needs community support to continue development.

๐Ÿ› How to Contribute

gitGraph
    commit id: "Fork Repo"
    branch feature/amazing-feature
    checkout feature/amazing-feature
    commit id: "Add Feature"
    commit id: "Add Tests"
    commit id: "Update Docs"
    checkout main
    merge feature/amazing-feature
    commit id: "Feature Merged!"
Loading

Step-by-step guide:

  1. ๐Ÿด Fork the repository
  2. ๐ŸŒฟ Create a feature branch: git checkout -b feature/amazing-feature
  3. ๐Ÿ“ Follow TypeScript and React Native best practices
  4. ๐Ÿงช Test your changes thoroughly
  5. ๐Ÿ’พ Commit with clear messages: git commit -m 'Add amazing feature'
  6. ๐Ÿš€ Push to your branch: git push origin feature/amazing-feature
  7. ๐Ÿ“ฌ Submit a pull request

Tip

Code Style: Follow the existing patterns in the codebase and use TypeScript strictly

๐Ÿ”ฎ Future Roadmap

Note

If development resumes, these features are planned for future releases

gantt
    title AlgoTN Development Roadmap
    dateFormat  YYYY-MM-DD
    section Phase 1
    Arabic Language Support     :done, arabic, 2024-01-01, 2024-03-01
    Offline Functionality      :active, offline, 2024-03-01, 2024-06-01
    
    section Phase 2
    AI Recommendations         :ai, 2024-06-01, 2024-09-01
    Video Tutorials            :video, 2024-07-01, 2024-10-01
    
    section Phase 3
    Collaborative Features     :collab, 2024-09-01, 2024-12-01
    Progressive Web App        :pwa, 2024-10-01, 2025-01-01
Loading

Planned Features:

  • ๐ŸŒ Arabic language support with full RTL layout
  • ๐Ÿ“ฑ Offline functionality for algorithm access without internet
  • ๐ŸŽฎ Gamification system with points and achievements
  • ๐Ÿค– AI-powered recommendations for personalized learning
  • ๐ŸŽฅ Video tutorials integration for visual learners
  • ๐Ÿ‘ฅ Collaborative features for group learning
  • ๐Ÿ“ค Export functionality for sharing algorithms
  • ๐Ÿ“Š Advanced analytics for learning progress
  • ๐ŸŒ Progressive Web App version for web access

โ€๐Ÿ’ป Author

M. Rayen Sbai - Hobbyist Android Developer from Tunisia

GitHub LinkedIn


Note

Made with โค๏ธ for Tunisian students preparing for their Baccalaureate exams

Empowering the next generation of Tunisian developers and computer scientists

About

A community-driven app for Tunisian students to share, learn, and explore algorithms in Python and more. Includes bookmarking, comments, achievements, and a sleek Material You design.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •