{"id":24462238,"url":"https://github.com/tanveerisonline/classup-final-capstoneproject","last_synced_at":"2026-04-02T00:37:07.797Z","repository":{"id":187890188,"uuid":"648783555","full_name":"tanveerisonline/classup-final-capstoneproject","owner":"tanveerisonline","description":"ClassUp is an online learning platform created as a capstone project at Microverse. It offers users the ability to book online classes and organize study sessions with other learners in their vicinity. By combining virtual learning with real-world interactions, ClassUp aims to create an engaging and collaborative learning atmosphere for students.","archived":false,"fork":false,"pushed_at":"2023-08-30T13:13:37.000Z","size":3826,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-28T01:30:13.610Z","etag":null,"topics":["bootstrap5","eslint","gitflow","jest","postgres","react","redux","render","rspec","rswag","ruby","ruby-on-rails","stylelint","webpack5"],"latest_commit_sha":null,"homepage":"https://classup.onrender.com/","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/tanveerisonline.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":"2023-06-02T20:00:03.000Z","updated_at":"2023-07-07T14:06:54.000Z","dependencies_parsed_at":"2025-01-21T04:31:31.765Z","dependency_job_id":null,"html_url":"https://github.com/tanveerisonline/classup-final-capstoneproject","commit_stats":null,"previous_names":["tanveerisonline/classup-final-capstoneproject"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tanveerisonline/classup-final-capstoneproject","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanveerisonline%2Fclassup-final-capstoneproject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanveerisonline%2Fclassup-final-capstoneproject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanveerisonline%2Fclassup-final-capstoneproject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanveerisonline%2Fclassup-final-capstoneproject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tanveerisonline","download_url":"https://codeload.github.com/tanveerisonline/classup-final-capstoneproject/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanveerisonline%2Fclassup-final-capstoneproject/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31293438,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bootstrap5","eslint","gitflow","jest","postgres","react","redux","render","rspec","rswag","ruby","ruby-on-rails","stylelint","webpack5"],"created_at":"2025-01-21T04:31:27.276Z","updated_at":"2026-04-02T00:37:07.764Z","avatar_url":"https://github.com/tanveerisonline.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n[![Contributors](https://img.shields.io/github/contributors/IndieCoderMM/e-learning-academy)](https://github.com/IndieCoderMM/e-learning-academy/graphs/contributors)\n[![LastUpdate](https://img.shields.io/github/last-commit/IndieCoderMM/e-learning-academy)](https://github.com/IndieCoderMM/e-learning-academy/commits/main)\n[![Stargazers](https://img.shields.io/github/stars/IndieCoderMM/e-learning-academy)](https://github.com/IndieCoderMM/e-learning-academy/stargazers)\n[![Issues](https://img.shields.io/github/issues/IndieCoderMM/e-learning-academy)](https://github.com/IndieCoderMM/e-learning-academy/issues)\n[![License](https://img.shields.io/github/license/IndieCoderMM/e-learning-academy)](https://github.com/IndieCoderMM/e-learning-academy/blob/main/LICENSE)\n\n\u003cdetails\u003e\n\u003csummary\u003eTable of Contents\u003c/summary\u003e\n\n- [🎓 ClassUp - Online Learning Platform ](#-classup---online-learning-platform-)\n  - [📸 Screenshots ](#-screenshots-)\n  - [🚀 Live Demo](#-live-demo)\n  - [📋 Kanban Board](#-kanban-board)\n  - [🧰 Tech Stack  ](#-tech-stack--)\n  - [✨ Key Features  ](#-key-features--)\n  - [📘 Getting Started  ](#-getting-started--)\n    - [📋 Prerequisites](#-prerequisites)\n    - [📂 Setup](#-setup)\n    - [📥 Installation](#-installation)\n    - [💾 Database](#-database)\n    - [💻 Usage](#-usage)\n    - [📃 API](#-api)\n    - [🧪 Tests](#-tests)\n  - [👨‍💻 Authors  ](#-authors--)\n  - [🎯 Future Features  ](#-future-features--)\n  - [🤝 Contribution  ](#-contribution--)\n  - [💖 Show Your Support  ](#-show-your-support--)\n  - [🙏 Acknowledgements](#-acknowledgements)\n  - [📜 License ](#-license-)\n\u003c/details\u003e\n\n# 🎓 ClassUp - Online Learning Platform \u003ca name=\"about-project\"\u003e\u003c/a\u003e\n\n**ClassUp** is a collaborative online learning platform developed as the final capstone project at Microverse. \n\nOur website allows users to reserve online classes while also providing the opportunity to schedule study sessions with fellow learners in their area. By bridging the gap between virtual learning and real-world interactions, Classup creates a vibrant and collaborative learning environment for students of all backgrounds. \n\n## 📸 Screenshots. \u003ca name=\"screenshot\"\u003e\u003c/a\u003e\n\n\u003cp\u003e\n\u003cimg src=\"./app_screenshot1.png\" width=400 height=250 alt=\"screenshot\" /\u003e\n\u003cimg src=\"./app_screenshot2.png\" width=400 height=250 alt=\"screenshot\" /\u003e\n\u003cimg src=\"./app_screenshot3.png\" width=400 height=250 alt=\"screenshot\" /\u003e\n\u003cimg src=\"./app_screenshot4.png\" width=400 height=250 alt=\"screenshot\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n## 🚀 Live Demo\n\nYou can checkout the live demo of our project at [classup.onrender.com](https://classup.onrender.com/)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 📋 Kanban Board \n\nWe used a Kanban board to manage our tasks and track the progress of our project.\n\nThis is [the link to our Kanban Board](https://github.com/users/IndieCoderMM/projects/4).\n\nWe're a group of 3 members: [@tobuya](https://github.com/tobuya), [@tanveerisonline](https://github.com/tanveerisonline), [@IndieCoderMM](https://github.com/indiecodermm)\n\n\u003cimg src=\"./kanban.png\" width=600 height=400 alt=\"kanban board\" /\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 🧰 Tech Stack  \u003ca name=\"tech-stack\"\u003e\u003c/a\u003e\n\n- **Back-end** 💻: \n  - [Ruby on Rails](https://rubyonrails.org/) - Creating API endpoints and managing databases\n  - [PostgreSQL](https://www.postgresql.org/) - Database management system\n\n\n- **Front-end** 🎨: \n  - [React](https://reactjs.org/) - Building user interfaces\n  - [Redux](https://redux.js.org/) - Managing states and API calls\n  - [Bootstrap](https://react-bootstrap.github.io/) - Pre-built UI components\n\n\n- **Tools** 🛠: \n  - [Rspec](https://rspec.info/) - Testing models and requests\n  - [RSwag](https://github.com/rswag/rswag) - Documenting and testing API endpoints\n  - [Jest](https://jestjs.io/) - Unit tests for frontend components\n  - [Webpack](https://webpack.js.org/) - Module bundler for React/javascript\n  - [Render](https://render.com/) - Cloud platform for deployment\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## ✨ Key Features  \u003ca name=\"key-features\"\u003e\u003c/a\u003e\n\n- Browse list of available courses\n- Log in with a username and access all features\n- Reserve online classes according to preferred time and location\n- View upcoming classes and reservations\n- Mobile-friendly and responsive design\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 📘 Getting Started  \u003ca name=\"getting-started\"\u003e\u003c/a\u003e\n\nTo run this project locally, you'll need to follow these steps.\n\n### 📋 Prerequisites\n\nMake sure you have the following installed on your machine:\n- [Ruby 3.1.3 or higher](https://www.ruby-lang.org/en/)\n- [Rails 7.0.4 or higher](https://rubyonrails.org/)\n- [PostgreSQL 15.2 or higher](https://www.postgresql.org/)\n- [Node 18.14 or higher](https://nodejs.org/en)\n\n### 📂 Setup\n\nClone this repository to your desired foler.\n\n```sh\ncd my-project\ngit clone git@github.com:IndieCoderMM/e-learning-academy.git .\n```\n\n### 📥 Installation\n\nInstall the required gems with:\n\n```sh\nbundle install\n```\n\nInstall the node dependencies with:\n\n```sh\nnpm install\n```\n\n### 💾 Database\n\nCreate the databases and run migrations with:\n\n```sh\nrails db:create\nrails db:migrate\n```\n\nTo load the sample data, run:\n\n```sh\nrails db:seed\n```\n\n### 💻 Usage\n\nBuild the frontend assets with:\n\n```sh\nnpm run build\n```\n\nTo run the development server, execute the following command:\n\n```sh\nrails server\n```\n*Once the server is up and running, you can access the website on  `http://localhost:3000`*\n\n### 📃 API\n\nTo read the API documentation, visit `https://localhost:3000/api-docs`\n\n### 🧪 Tests\n\nTo run tests, run the following command:\n\n```sh\nrspec spec --format doc\n```\n\nTo test the frontend components, run:\n\n```sh\nnpm test\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 👨‍💻 Authors  \u003ca name=\"author\"\u003e\u003c/a\u003e\n\nWe worked collectively on both the frontend and backend development, dividing features among us to ensure a well-rounded and efficient system. \n\nFeel free to reach out to us with your suggestions, ideas, or feedback. We are always eager to improve our website.\n\n👤 **Thomas Obuya**\n\n- GitHub: [@githubhandle](https://github.com/tobuya)\n- Twitter: [@twitterhandle](https://twitter.com/MullerTheGreat1)\n- LinkedIn: [LinkedIn](https://linkedin.com/in/tobuya)\n\n👤 **Tanveer Ahmad**\n\n- GitHub: [@tanveerisonline](https://github.com/tanveerisonline)\n- Twitter: [Tanveer Ahmad](https://twitter.com/Tanveer98589023)\n- LinkedIn: [Tanveer Ahmad](https://www.linkedin.com/in/tanveer-ahmad-899462211/)\n\n👤 **Hein Thant**\n\n- GitHub: [@IndieCoderMM](https://github.com/indiecodermm)\n- LinkedIn: [@hthantoo](https://linkedin.com/in/hthantoo)\n- Gmail: hthant00chk@gmail.com\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 🎯 Future Features  \u003ca name=\"future-features\"\u003e\u003c/a\u003e\n\n- [ ] Implement secure *User authentication*\n- [ ] Implement *Authorization* (Roles: Admin, Instructor, User)\n- [ ] Add *Join-study-sessions Feature*\n- [ ] Implement *Edit-courses Feature*\n- [ ] Implement *Search Feature*\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 🤝 Contribution  \u003ca name=\"contribution\"\u003e\u003c/a\u003e\n\nContributions, issues, and feature requests are welcome!\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 💖 Show Your Support  \u003ca name=\"support\"\u003e\u003c/a\u003e\n\nIf you like this project, please consider giving it a ⭐.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 🙏 Acknowledgements\n\nThis app was designed based on an original design idea by [Murat Korkmaz](https://www.behance.net/muratk) on Behance. \nWe would like to thank Murat Korkmaz for this inspiring design.\n\n- [App Design Template](https://www.behance.net/gallery/26425031/Vespa-Responsive-Redesign)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 📜 License \u003ca name=\"license\"\u003e\u003c/a\u003e\n\nThis project is [MIT](./LICENSE) licensed.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftanveerisonline%2Fclassup-final-capstoneproject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftanveerisonline%2Fclassup-final-capstoneproject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftanveerisonline%2Fclassup-final-capstoneproject/lists"}