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
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)
To democratize algorithm education in Tunisia by providing accessible, interactive, and culturally relevant learning materials in multiple languages.
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
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
Community: [Comments system, Like/bookmark functionality]
Profiles: [User statistics, Achievements, Activity feeds]
Notifications: Real-time updates and notifications
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
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
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)
Warning
Required Configuration: These steps are mandatory for the app to function properly
# Add your Firebase config files to:
# ๐ android/app/google-services.json
# ๐ ios/AlgoTN/GoogleService-Info.plist
# Configure OneSignal App ID in your environment variables
ONESIGNAL_APP_ID=your_app_id_here
# Set up Appodeal keys for monetization
APPODEAL_API_KEY=your_api_key_here
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
Note
We welcome contributions! This project needs community support to continue development.
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!"
- ๐ด Fork the repository
- ๐ฟ Create a feature branch:
git checkout -b feature/amazing-feature
- ๐ Follow TypeScript and React Native best practices
- ๐งช Test your changes thoroughly
- ๐พ Commit with clear messages:
git commit -m 'Add amazing feature'
- ๐ Push to your branch:
git push origin feature/amazing-feature
- ๐ฌ Submit a pull request
Tip
Code Style: Follow the existing patterns in the codebase and use TypeScript strictly
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
- ๐ 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
M. Rayen Sbai - Hobbyist Android Developer from Tunisia
Note
Made with โค๏ธ for Tunisian students preparing for their Baccalaureate exams
Empowering the next generation of Tunisian developers and computer scientists