Skip to content

[Friends Tutor] is a lecture provider platform where lectures recorded by students are shared worldwide.

License

Notifications You must be signed in to change notification settings

2ood/friends-tutor

Repository files navigation

mainlogo

Learn from your friends.

Friends Tutor is a lecture provider platform where lectures recorded by students are shared worldwide.

Netlify GitHub

GitHub contributors Scrutinizer code quality (GitHub/Bitbucket) GitHub commit activity

Table of Contents

1. Backgrounds

    1.1) What is the problem?

    1.2) What is the solution?

2. Introducing Friend Mentor

    2.1) Login and Signup

    2.2) Browse Lectures & Give upvotes

    2.3) Upload my lectures

    2.4) Certificates

3. Setup & Requisites

4. Project Architecture

    4.1) Project structure

    4.2) Techs Used

    4.3) Deployment

5. Contributors

✨ 1. Backgrounds

1.1) What is the problem?

Living in underdeveloped countries, especially in places without educational infrastructures like schools or libraries, it is very hard to learn a piece of knowledge by oneself. It is almost impossible to get access to quality education content.

Not only in those countries, there still are places in South Korea where general education is not in reach. For instance, one of our beta test user Jiwoo lives in an island where there are insufficient internet connection.

The problem doesn't end here. Even in places with those infrastructures, the education quality is not guaranteed. Some schools might lack in Science teachers, while others don't have appropriate learning materials.

1.2) What is the solution?

Project 'Friends Tutor' is motivated by one of Albert Einstein's quotes.

If you can't explain it simply, you don't understand it enough.

This quote implies that once a student learned something thouroughly, one can also explain it to others. Also, thinking backwards, if we evaluate whether students can explain well about a topic they learned, we can 'grade them' without exams.

Our goal is to build a 'Stack overflow','Coursera', and 'Wikipedia' on school basic subjects. We dreamed an online website( or an app) where kids can freely access peer's explaination on things they didn't understand in school.

Project 'Friends Tutor' tries to achieve the 4th goal of UN SDG sustainable Goals, which is Quality Education. Specifically, this project aims to gain progress on indicator 4.1.1. and 4.5.1.

4.1.1
Proportion of children and young people (a) in grades 2/3; (b) at the end of primary; and (c) at the end of lower secondary achieving at least a minimum proficiency level in (i) reading and (ii) mathematics, by sex

4.5.1
Parity indices (female/male, rural/urban, bottom/top wealth quintile and others such as disability status, indigenous peoples and conflict-affected, as data become available) for all education indicators on this list that can be disaggregated

😎 2. Introducing Friend Mentor

2.1) Login & Sign up

mainlogo

2.2) Browse Lectures & Give upvotes

mainlogo

2.3) Upload my lectures

mainlogo

2.4) Certificates

mainlogo

3. Setup & Requisites

Frontend Setup

Minimum environment requirements versions are as follows.

OS : (ubuntu) 18.04 LTS
Node.js : 16.19.1 (Gallium)
npm : 9.6.2

First. clone files from git.

git clone https://github.com/2ood/friends-tutor.git 
# web communicates through demo backend domain.
# (which is https://www.gdsc-gist-lms.page:443)

Currently, main branch is connected to demo backend domain. If you want to run in the same local machine of backend, you should clone branch 'localhost-branch'.

git clone -b localhost-branch https://github.com/2ood/friends-tutor.git
# web communicates with http://localhost:8080.

Then, install dependencies and run.

cd friends-tutor/friends-tutor
npm install
npm start

Frontend setup is complete. If you want to test the features by running both the frontend and backend on your local machine, please proceed with the Backend Setup below.

Backend Setup

In fact, since the backend server is currently deployed, you can receive all API calls directly by running the code on the 'main branch'. You don’t need to setup the backend environment.

However, if you want to run both the frontend and backend locally using the 'localhost-branch', you can run the backend environment on your local machine by following the instructions in the below GitHub link which is the backend repository of our project.

https://github.com/kimtks456/friend-tutor-backend

🖥️ 4. Project Architecture

4.1) Project structure

project_structure

The project is version-controlled by git.

Following is the git repository for web-backend.

https://github.com/kimtks456/friend-tutor-backend

4.2) Techs Used

Frontend tech used
Design Figma
web-dev React
web-deploy Netlify
Backend tech used
backend-dev Spring
backend-deploy GCP
DBMS MySQL
Others tech used
version control git, Github
API documentation Swagger
Task organization Notion
Video edit Adobe Premiere Pro

4.3) Deployment

Currrent Demo of project 'Friends Tutor' is being deployed upon Netlify.

https://friends-tutor.netlify.app/

👥 5. Contributors

FE

  • Suyeon Shim : FE Design, FE Development (My page)
  • Seungbin Shin : FE Design, FE Development (Main page, Login, Logout)
  • Kyugnmin Choi : FE Management, FE Development (Lecture Upload, browse, view)

BE

About

[Friends Tutor] is a lecture provider platform where lectures recorded by students are shared worldwide.

Resources

License

Stars

Watchers

Forks