{"id":30040212,"url":"https://github.com/neuraladitya/educentral","last_synced_at":"2025-08-07T01:57:44.449Z","repository":{"id":306846884,"uuid":"1027389494","full_name":"NeuralAditya/EduCentral","owner":"NeuralAditya","description":"AI-powered, gamified edtech platform for personalized assessments, coding quizzes, and mock interviews.","archived":false,"fork":false,"pushed_at":"2025-07-28T01:19:39.000Z","size":1572,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-28T02:24:19.691Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NeuralAditya.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license/LICENSE-AGPLv3.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-27T23:27:06.000Z","updated_at":"2025-07-28T01:19:43.000Z","dependencies_parsed_at":"2025-07-28T02:24:22.555Z","dependency_job_id":"6b2eb7cb-5659-4fe2-82ab-ad981bb4a732","html_url":"https://github.com/NeuralAditya/EduCentral","commit_stats":null,"previous_names":["neuraladitya/educentral"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/NeuralAditya/EduCentral","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeuralAditya%2FEduCentral","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeuralAditya%2FEduCentral/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeuralAditya%2FEduCentral/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeuralAditya%2FEduCentral/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NeuralAditya","download_url":"https://codeload.github.com/NeuralAditya/EduCentral/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeuralAditya%2FEduCentral/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269185774,"owners_count":24374634,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-06T02:00:09.910Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-07T01:57:19.012Z","updated_at":"2025-08-07T01:57:44.431Z","avatar_url":"https://github.com/NeuralAditya.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/assets/logo.png\" alt=\"Educentral Logo\" width=\"200\"/\u003e\n\u003c/p\u003e\n\n# 🧠 EduCentral – AI-Powered Student Assessment \u0026 Learning System\n\n[![AGPLv3 License](https://img.shields.io/badge/License-AGPLv3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0.en.html)\n[![Commercial License](https://img.shields.io/badge/License-Commercial-lightgrey.svg)](LICENSE-COMMERCIAL.txt)\n[![EduCentral](https://img.shields.io/badge/-Educentral-2ECC71?style=flat-square)](https://github.com/NeuralAditya/EduCentral)\n[![Contributors](https://img.shields.io/github/contributors/NeuralAditya/EduCentral)](https://github.com/NeuralAditya/EduCentral/graphs/contributors)\n[![Issues](https://img.shields.io/github/issues/NeuralAditya/EduCentral)](https://github.com/NeuralAditya/EduCentral/issues)\n[![Last Commit](https://img.shields.io/github/last-commit/NeuralAditya/EduCentral)](https://github.com/NeuralAditya/EduCentral/commits/main)\n\n\u003cp align=\"left\"\u003e \n  \u003cimg src=\"https://img.shields.io/badge/React-%2320232a.svg?logo=react\u0026logoColor=%2361DAFB\" alt=\"React\"/\u003e \n  \u003cimg src=\"https://img.shields.io/badge/Vite-646CFF?logo=vite\u0026logoColor=fff\" alt=\"Vite\"/\u003e \n  \u003cimg src=\"https://img.shields.io/badge/Tailwind%20CSS-%2338B2AC.svg?logo=tailwind-css\u0026logoColor=white\" alt=\"Tailwind CSS\"/\u003e \n  \u003cimg src=\"https://img.shields.io/badge/Node.js-6DA55F?logo=node.js\u0026logoColor=white\" alt=\"Node.js\"/\u003e \n  \u003cimg src=\"https://img.shields.io/badge/Framework-Express.js-000000?logo=express\" alt=\"Express.js\"/\u003e \n  \u003cimg src=\"https://img.shields.io/badge/Database-PostgreSQL-4169E1?logo=postgresql\" alt=\"PostgreSQL\"/\u003e \n  \u003cimg src=\"https://img.shields.io/badge/ORM-Drizzle%20ORM-6C3483\" alt=\"Drizzle ORM\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Auth-Passport.js-34E27A?logo=passport\" alt=\"Passport.js\"/\u003e  \n  \u003cimg src=\"https://img.shields.io/badge/Deployment-Docker-blue?logo=docker\" alt=\"Docker\"/\u003e \n  \u003cimg src=\"https://img.shields.io/badge/Hosting-Heroku%2FAWS%2FDigitalOcean-430098\" alt=\"Heroku / AWS / DigitalOcean\"/\u003e \n\u003c/p\u003e\n\nEduCentral is a full-stack AI-enabled assessment platform that helps students prepare better, get feedback instantly, and track their learning progress.\n\nIt integrates OpenAI (GPT-4o) or Puter.js (a local alternative) to power mock interviews, text/voice/photo analysis, and personalized tutor feedback — all aligned with real-world assessment standards.\n\n✅ Use it locally as an offline prototype or connect it to a local LLM backend for zero-dependency usage.\n\n## 🚀 Features\n\n- 🧑‍🏫 AI-Powered Tutor (GPT-4o or Puter.js)\n- 🎤 Video Assessment: Analyze speech, clarity, and emotional tone\n- 🖼️ Image/Diagram Grading: Intelligent diagram analysis\n- 📝 Text Submission Feedback: Score and provide feedback in real time\n- 🧠 Quiz Engine: Create, assign, and evaluate quizzes per topic\n- 📊 Progress Dashboard: Track performance, attempts, and growth\n- 🔐 Local-first: Fully operational without internet (with Puter.js)\n\n## 📸 Screenshots\n\n![Main](docs/screenshots/ss1.png)\n\n![All Services](docs/screenshots/ss2.png)\n\n![End](docs/screenshots/ss3.png)\n\n## 🧰 Tech Stack\n\n- **Frontend**: React, Vite, Tailwind CSS\n- **Backend**: Node.js, Express.js\n- **Database**: Neon (PostgreSQL serverless) with Drizzle ORM\n- **Authentication**: Passport.js (Local Strategy)\n- **AI Engine**: OpenAI (GPT-4o) / Puter.js (local)\n- **Dev Tools**: TypeScript, Vite, Multer, Zod\n\n## 🛠️ Setup \u0026 Installation\n\n### ✅ Prerequisites\n\nEnsure you have the following installed:\n\n- [Node.js](https://nodejs.org/) (v18 or later)\n- [npm](https://npmjs.com/) \n- [Git](https://git-scm.com/) \n- [OpenAI](https://openai.com/) (Optional for online mode)\n\n### 🧪 Steps to Run the Project Locally\n\n1. **Clone the repository:**\n   ```bash\n   git clone https://github.com/NeuralAditya/EduCentral.git\n    cd EduCentral\n   ```\n\n2. **Install dependencies:**\n     ```bash\n        npm install\n     ```\n\n3. **Add your .env file (for online OpenAI mode)**\n      ```bash\n        cp .env.example .env\n     ```\n     Add DATABASE_URL and optionally OPENAI_API_KEY\n\n4. **For Local Build**\n   ```bash\n   npm run build\n   ```\n\n5. **To run production build**\n   ```bash\n   npm start\n   ```\n\n6. **Navigate to `http://localhost:5000` to access the application.**\n\n### 🔄 Switching between OpenAI and Puter\n\n**To use OpenAI**: Add OPENAI_API_KEY to .env and use ai-tutor.ts with OpenAI logic.\n\n**To use Puter.js (local)**: No API key required, just run your Puter server and update AI endpoints to:\n\n```bash\nconst PUTER_API_URL = \"http://puter.localhost:4100/api/chat\";\n```\n\n## 🤝 Contributing\n\nWe welcome contributions! If you'd like to help out, please follow the steps below:\n\n1. Fork the repository.\n2. Create a new branch for your feature or fix:\n   ```bash\n   git checkout -b feature/my-new-feature\n   ```\n3. Make your changes.\n4. Commit your changes:\n   ```bash\n   git commit -m \"Add my new feature\"\n   ```\n5. Push your branch:\n   ```bash\n   git push origin feature/my-new-feature\n   ```\n6. Open a pull request to the `main` branch.\n\nPlease ensure your code passes the tests and follows our coding standards before submitting a pull request.\n\n## 📄 License\n\nThis project is **dual-licensed**:\n\n- **GNU Affero General Public License v3.0 (AGPLv3)** – Open source under AGPLv3; see [LICENSE-AGPLv3.txt](license/LICENSE-AGPLv3.txt)\n- **Commercial License** – For commercial use and proprietary licensing, see [LICENSE-COMMERCIAL.txt](license/LICENSE-COMMERCIAL.txt)\n\n## 👥 Contributors\n\n- **Aditya Arora** - [GitHub Link](https://github.com/NeuralAditya)\n- **Brijesh Gupta** - [Email For Commercial Use](mailto:brijesh.ml.ai@gmail.com)\n- **Aditya Durve** - [Contributor \u0026 Liason](mailto:aditya.dhurve@mitwpu.edu.in)\n\n---\n\nMade with ❤️ by the EduCentral team.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneuraladitya%2Feducentral","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneuraladitya%2Feducentral","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneuraladitya%2Feducentral/lists"}