An open API service indexing awesome lists of open source software.

https://github.com/tanveerisonline/classup-final-capstoneproject

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.
https://github.com/tanveerisonline/classup-final-capstoneproject

bootstrap5 eslint gitflow jest postgres react redux render rspec rswag ruby ruby-on-rails stylelint webpack5

Last synced: 2 months ago
JSON representation

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.

Awesome Lists containing this project

README

        


[![Contributors](https://img.shields.io/github/contributors/IndieCoderMM/e-learning-academy)](https://github.com/IndieCoderMM/e-learning-academy/graphs/contributors)
[![LastUpdate](https://img.shields.io/github/last-commit/IndieCoderMM/e-learning-academy)](https://github.com/IndieCoderMM/e-learning-academy/commits/main)
[![Stargazers](https://img.shields.io/github/stars/IndieCoderMM/e-learning-academy)](https://github.com/IndieCoderMM/e-learning-academy/stargazers)
[![Issues](https://img.shields.io/github/issues/IndieCoderMM/e-learning-academy)](https://github.com/IndieCoderMM/e-learning-academy/issues)
[![License](https://img.shields.io/github/license/IndieCoderMM/e-learning-academy)](https://github.com/IndieCoderMM/e-learning-academy/blob/main/LICENSE)

Table of Contents

- [๐ŸŽ“ ClassUp - Online Learning Platform ](#-classup---online-learning-platform-)
- [๐Ÿ“ธ Screenshots ](#-screenshots-)
- [๐Ÿš€ Live Demo](#-live-demo)
- [๐Ÿ“‹ Kanban Board](#-kanban-board)
- [๐Ÿงฐ Tech Stack ](#-tech-stack--)
- [โœจ Key Features ](#-key-features--)
- [๐Ÿ“˜ Getting Started ](#-getting-started--)
- [๐Ÿ“‹ Prerequisites](#-prerequisites)
- [๐Ÿ“‚ Setup](#-setup)
- [๐Ÿ“ฅ Installation](#-installation)
- [๐Ÿ’พ Database](#-database)
- [๐Ÿ’ป Usage](#-usage)
- [๐Ÿ“ƒ API](#-api)
- [๐Ÿงช Tests](#-tests)
- [๐Ÿ‘จโ€๐Ÿ’ป Authors ](#-authors--)
- [๐ŸŽฏ Future Features ](#-future-features--)
- [๐Ÿค Contribution ](#-contribution--)
- [๐Ÿ’– Show Your Support ](#-show-your-support--)
- [๐Ÿ™ Acknowledgements](#-acknowledgements)
- [๐Ÿ“œ License ](#-license-)

# ๐ŸŽ“ ClassUp - Online Learning Platform

**ClassUp** is a collaborative online learning platform developed as the final capstone project at Microverse.

Our 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.

## ๐Ÿ“ธ Screenshots.


screenshot
screenshot
screenshot
screenshot

(back to top)

## ๐Ÿš€ Live Demo

You can checkout the live demo of our project at [classup.onrender.com](https://classup.onrender.com/)

(back to top)

## ๐Ÿ“‹ Kanban Board

We used a Kanban board to manage our tasks and track the progress of our project.

This is [the link to our Kanban Board](https://github.com/users/IndieCoderMM/projects/4).

We're a group of 3 members: [@tobuya](https://github.com/tobuya), [@tanveerisonline](https://github.com/tanveerisonline), [@IndieCoderMM](https://github.com/indiecodermm)

kanban board

(back to top)

## ๐Ÿงฐ Tech Stack

- **Back-end** ๐Ÿ’ป:
- [Ruby on Rails](https://rubyonrails.org/) - Creating API endpoints and managing databases
- [PostgreSQL](https://www.postgresql.org/) - Database management system

- **Front-end** ๐ŸŽจ:
- [React](https://reactjs.org/) - Building user interfaces
- [Redux](https://redux.js.org/) - Managing states and API calls
- [Bootstrap](https://react-bootstrap.github.io/) - Pre-built UI components

- **Tools** ๐Ÿ› :
- [Rspec](https://rspec.info/) - Testing models and requests
- [RSwag](https://github.com/rswag/rswag) - Documenting and testing API endpoints
- [Jest](https://jestjs.io/) - Unit tests for frontend components
- [Webpack](https://webpack.js.org/) - Module bundler for React/javascript
- [Render](https://render.com/) - Cloud platform for deployment

(back to top)

## โœจ Key Features

- Browse list of available courses
- Log in with a username and access all features
- Reserve online classes according to preferred time and location
- View upcoming classes and reservations
- Mobile-friendly and responsive design

(back to top)

## ๐Ÿ“˜ Getting Started

To run this project locally, you'll need to follow these steps.

### ๐Ÿ“‹ Prerequisites

Make sure you have the following installed on your machine:
- [Ruby 3.1.3 or higher](https://www.ruby-lang.org/en/)
- [Rails 7.0.4 or higher](https://rubyonrails.org/)
- [PostgreSQL 15.2 or higher](https://www.postgresql.org/)
- [Node 18.14 or higher](https://nodejs.org/en)

### ๐Ÿ“‚ Setup

Clone this repository to your desired foler.

```sh
cd my-project
git clone [email protected]:IndieCoderMM/e-learning-academy.git .
```

### ๐Ÿ“ฅ Installation

Install the required gems with:

```sh
bundle install
```

Install the node dependencies with:

```sh
npm install
```

### ๐Ÿ’พ Database

Create the databases and run migrations with:

```sh
rails db:create
rails db:migrate
```

To load the sample data, run:

```sh
rails db:seed
```

### ๐Ÿ’ป Usage

Build the frontend assets with:

```sh
npm run build
```

To run the development server, execute the following command:

```sh
rails server
```
*Once the server is up and running, you can access the website on `http://localhost:3000`*

### ๐Ÿ“ƒ API

To read the API documentation, visit `https://localhost:3000/api-docs`

### ๐Ÿงช Tests

To run tests, run the following command:

```sh
rspec spec --format doc
```

To test the frontend components, run:

```sh
npm test
```

(back to top)

## ๐Ÿ‘จโ€๐Ÿ’ป Authors

We worked collectively on both the frontend and backend development, dividing features among us to ensure a well-rounded and efficient system.

Feel free to reach out to us with your suggestions, ideas, or feedback. We are always eager to improve our website.

๐Ÿ‘ค **Thomas Obuya**

- GitHub: [@githubhandle](https://github.com/tobuya)
- Twitter: [@twitterhandle](https://twitter.com/MullerTheGreat1)
- LinkedIn: [LinkedIn](https://linkedin.com/in/tobuya)

๐Ÿ‘ค **Tanveer Ahmad**

- GitHub: [@tanveerisonline](https://github.com/tanveerisonline)
- Twitter: [Tanveer Ahmad](https://twitter.com/Tanveer98589023)
- LinkedIn: [Tanveer Ahmad](https://www.linkedin.com/in/tanveer-ahmad-899462211/)

๐Ÿ‘ค **Hein Thant**

- GitHub: [@IndieCoderMM](https://github.com/indiecodermm)
- LinkedIn: [@hthantoo](https://linkedin.com/in/hthantoo)
- Gmail: [email protected]

(back to top)

## ๐ŸŽฏ Future Features

- [ ] Implement secure *User authentication*
- [ ] Implement *Authorization* (Roles: Admin, Instructor, User)
- [ ] Add *Join-study-sessions Feature*
- [ ] Implement *Edit-courses Feature*
- [ ] Implement *Search Feature*

(back to top)

## ๐Ÿค Contribution

Contributions, issues, and feature requests are welcome!

(back to top)

## ๐Ÿ’– Show Your Support

If you like this project, please consider giving it a โญ.

(back to top)

## ๐Ÿ™ Acknowledgements

This app was designed based on an original design idea by [Murat Korkmaz](https://www.behance.net/muratk) on Behance.
We would like to thank Murat Korkmaz for this inspiring design.

- [App Design Template](https://www.behance.net/gallery/26425031/Vespa-Responsive-Redesign)

(back to top)

## ๐Ÿ“œ License

This project is [MIT](./LICENSE) licensed.

(back to top)