Logo Lanfrica

QuintonCodes/edulite

Domain:

education

Record type:

software
Creator:
Qui
Host:
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: ` …