/liferary-backend

Backend repository of Liferary, project for 2023 GDSC Solution Challenge

Primary LanguageJava

Liferary Banner

What is Liferary?

Project name "Liferary" created by combining "Life" and "Library".
It means a library with knowledges for a better life.

"Liferary" is a free knowledge-sharing service that combines the concept of wikis, where users can make free contributions, with paid online education services. The platform's key feature is that "knowledge sharers" can publish their knowledge in various forms, such as text, images, and videos (via YouTube), and share them with others. Knowledge sharers can also use Google Meet, a real-time video conferencing service, to conduct study sessions. Users can learn from the shared knowledge and express their opinions through the community service. Liferary aims to enable as many people as possible to lead better lives by sharing knowledge with one another.

Sustainable Development Goals

goals

  • Goal 3 : Good Health and Well-Being
    • "Knowledge sharers" can share their excellent knowledge on topics such as how to purify water, take medication correctly, and exercise safely in Liferary. By doing so, they can help more people live healthier and better lives.
  • Goal 4 : Quality Education
    • Our ultimate goal for the service is to create an environment where shared knowledge leads to high-quality learning. To achieve this, we are planning to establish procedures to certify knowledge sharers as experts in their knowledge and attract more professional knowledge sharers. For now, our service is providing an environment where people can share their unique knowledge, learn together in real-time, and communicate with each other about knowledge for better learning.
  • Goal 10 : Reduced Inequalities
    • For some, even the most mundane information may be unfamiliar and difficult on the opposite side of the world. Educational disparities lead to global inequality, and to solve this, we must provide equal learning opportunities to everyone. We aim to provide an environment where anyone with Internet access can learn completely for free.

Project Repositories

We seperate repositories to prevent unexpected side effects in each other's code.


Technologies

  • Web
    • React.js
    • Next.js
    • styled-components
  • App
    • Flutter
  • Server
    • Spring Boot
    • Spring Data JPA
    • Spring Security
    • MySQL
    • Redis
    • Docker
    • Swagger
    • Google Cloud Platform
    • Firebase

Demo Video

Frame 7 (1)

How to use Liferary

Web

1. First, access the service through the provided link.

Main MainRecent

Now, you can read all posts in Liferary! But, if you want to share your knowledge, you need to sign up and log in.

2. You can sign up and login with any email you have or just use Google OAuth2.0 login.

SignUp Login OAuth

3. If you success to login, you can find write knowledge share post button in main page.

MainLogined

4. This is an input form for posts.

KS SCFP

You can share your knowledge with first form. You can upload text, images, even Youtube video. Writing a post is most important activity. The study and community post input forms are the same in format with knowledge share post, but the study and community input forms can't selecting a category and inserting a YouTube link.

5. If you success to submit a post, you may see the following result screens:

Knowledge

You can navigate from the page where you have shared your knowledge to the form for creating a study post. Additionally, you can also check the community board for other users' opinions about the knowledge you have shared.

Study

You can notice the real-time lecture by Google Meet in study post.

Community

In community posts, you can add comments to discuss about the knowledge with other users.

6. You can see the list of knowledge share posts.

Lists

Also, you can check knowledge share posts by category, based on your interests.

7. Search knowledge share posts by keywords you want to learn!

Search

8. In My Page, you can see your account's information and posts that you wrote.

MyPage

App

Liferary Flutter app has not been deployed yet because the technical implementation has not been completed. But you can follow the instructions below to try out the app in your local environment up to the completed part after clone this repository. App Repository

1. If you use Android device.

You need to have Android SDK version 31 or later installed. After launching Android Studio, enter the following commands sequentially in the terminal window.

flutter pub get
flutter doctor -v
flutter run

2. If you use iOS device.

You need to have iOS version 11 or later installed. After launching iOS simulator, enther the following commands sequentially in the terminal window.

flutter pub get
flutter doctor -v
flutter run
  • If you encounter the 'Error running pod install' error during iOS build, follow the steps below:
  1. Open a terminal window for your project and enter cd ios to move to the iOS folder.
  2. Enter pod repo update to update the repositories.
  3. Enter pod install to install the pod files again.

Next Steps

  • Implementing a certification process for knowledge providers' expertise.
  • Improving UI/UX for users.

Team Liferary

Hangil Lee Sinyoung Park Eunji Lee Jiyun Lee
Backend App Frontend Web Frontend Backend