{"id":25830669,"url":"https://github.com/leon8m/e-learning","last_synced_at":"2025-02-28T19:30:59.170Z","repository":{"id":260578230,"uuid":"879010714","full_name":"Leon8M/E-learning","owner":"Leon8M","description":"This is an e-learning platform designed to enhance peer-to-peer learning among university students","archived":false,"fork":false,"pushed_at":"2025-02-08T16:14:59.000Z","size":8189,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-08T16:23:56.236Z","etag":null,"topics":["e-learning-platform","full-stack-application"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Leon8M.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-10-26T18:02:51.000Z","updated_at":"2025-02-08T16:15:02.000Z","dependencies_parsed_at":"2024-12-16T16:33:20.516Z","dependency_job_id":null,"html_url":"https://github.com/Leon8M/E-learning","commit_stats":null,"previous_names":["leon8m/e-learning"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Leon8M%2FE-learning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Leon8M%2FE-learning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Leon8M%2FE-learning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Leon8M%2FE-learning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Leon8M","download_url":"https://codeload.github.com/Leon8M/E-learning/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241212183,"owners_count":19927894,"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","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":["e-learning-platform","full-stack-application"],"created_at":"2025-02-28T19:30:39.686Z","updated_at":"2025-02-28T19:30:59.157Z","avatar_url":"https://github.com/Leon8M.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# E-Learning Platform\nThis is an e-learning platform designed to enhance peer-to-peer learning among university students. The platform supports collaborative file sharing, real-time chat, discussion forums, and interactive quizzes.\n\n## Features\nUser Authentication: Register and log in to access the platform.\n\nFile Sharing: Upload and download educational materials.\n\nChat Functionality: Real-time communication with peers (messages expire after 24 hours).\n\nInteractive Quizzes: Engage in collaborative learning through quizzes.\n\nResponsive Design: Optimized for use on desktop and mobile devices.\n\n## Project Structure\nThe application is divided into two parts:\n\n Client: React front-end.\n \n Server: Python Flask back-end with SQLite database.\n\n## Prerequisites\nBefore you begin, ensure you have the following installed:\n\nNode.js (for the client),\nPython 3.8+ (for the server),\nGit (for version control)\n\n## Getting Started\n### 1. Clone the Repository\n`\ngit clone https://github.com/your-username/E-learning.git`\n\n`cd E-learning`\n### 2. Set Up the Server\nNavigate to the server directory:\n\n`\ncd server`\n\nCreate a virtual environment and activate it:\n\n`\npython -m venv venv`\n\n`source env/bin/activate `\n\n` On Windows: env\\Scripts\\activate`\n\nInstall dependencies:\n\n`\npip install -r requirements.txt`\n\nStart the server:\n\n`\npython app.py`\n\nThe server will start at http://localhost:8080.\n### 3. Set Up the Client\nNavigate to the client directory:\n\n`\ncd ../client`\n\nInstall dependencies:\n\n`\nnpm install`\n\nStart the development server:\n\n`\nnpm run dev`\n\nThe client will start at http://localhost:5173.\n### 4. Running the Application\nStart the server using:\n\n`\npython app.py`\n\nStart the client using:\n\n`\nnpm run dev`\n\nOpen your browser and navigate to http://localhost:5173 to use the application.\n\n## API Endpoints\n### User Routes\nPOST /register: Register a new user.\nPOST /login: Log in a user.\n### File Routes\nPOST /upload-file: Upload a file.\nGET /search-files: Get a list of files.\n### Chat Routes\nPOST /chat: Send a chat message.\nGET /chat: Retrieve chat messages.\n\n## Technologies Used\nFront-end: React, Tailwind CSS\nBack-end: Python Flask, SQLite\nLibraries: Axios (client), Flask-SQLAlchemy (server)\n\n## Contribution Guidelines\nFork the repository.\nCreate a new branch for your feature (git checkout -b feature-name).\nCommit your changes (git commit -m \"Added feature-name\").\nPush to the branch (git push origin feature-name).\nOpen a pull request.\n\n## License\nThis project is licensed under the MIT License. See the LICENSE file for details.\n\n## Acknowledgments\nSpecial shoutout to I, Leon Munene, the creator of this project.\nFeel free to adjust this README.md file to fit your specific repository and additional needs!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleon8m%2Fe-learning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleon8m%2Fe-learning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleon8m%2Fe-learning/lists"}