Logo Lanfrica

QuintonCodes/edulite

Domaine:

education

Type de record:

software
Créateur:
Qui
Hôte:
EduLite is a mobile e-learning application designed to enhance digital education accessibility in rural South African schools, where internet connectivity is often limited or unstable. # Edulite Monorepo 🚀 Welcome to the **Edulite Project**! This repository is organized as a **monorepo** using **npm workspaces**, with separate applications for **mobile (Expo/React Native)** and **backend (Next.js API-only)**. The goal of this README is to ensure every team member can set up the project locally, collaborate effectively, and follow best practices for consistent development. ## 📦 Project Structure ```arduino edulite/ │── .github # GitHub workflows (CI/CD) │── .vscode │── apps/ │ ├── mobile/ # Expo React Native app │ └── backend/ # Next.js API backend (no frontend) │── .gitignore │── .prettierignore │── .prettierrc.json │── package-lock.json │── package.json # Root workspace configuration │── README.md # You're here! ``` ## 🛠️ Required Tools - **Node.js 20+** → Download - **npm 9+** (comes with Node.js) - **Expo App** (recommended) - **Git** → Download - **Prettier extension** (mandatory for VS Code users) ## ⚙️ Setup Instructions 1. Clone the repository ```bash git clone github.com cd edulite ``` 2. Install dependencies At the root: ```bash npm install ``` This will install dependencies for all workspaces (mobile + backend). 3. Running the apps **Mobile (Expo)**: ```bash npm run start:mobile ``` or ```bash cd apps/mobile npm run start ``` - Opens Expo CLI for development builds - You can test on: - **Android Emulator** - **iOS simulator** - **Expo Go** app on your device **Backend (Next.js API)**: ```bash npm run dev:backend ``` or ```bash cd apps/backend npm run dev ``` - Starts the API-only server on [localhost]. ## 📖 Development Workflow We use the following tools to ensure consistency: - **ESLint** for code linting and enforcing coding standards - **Jest** for running unit tests - **Prettier** for automatic code formatting - **TypeScript** for static type checking - **GitHub Actions** for CI pipelines (lint, format, type-check and tests) Before pushing code, always run: ` …