Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
# 📡 Grow - Backend API Server
# Grow - Backend API Server

Grow is a course-based social platform that enables students to view academic info, write reviews, and engage in real-time chat.
This backend is built with **Next.js API Routes**, using **Firebase Authentication**, **Firebase Realtime Database**, and **PostgreSQL** with **Prisma ORM**.

## 🛠 Tech Stack
## Tech Stack
- Next.js (API Routes) + TypeScript
- PostgreSQL
- Firebase Admin SDK (Auth, Realtime DB)
- Axios

## Core Features
- 🔐 Auth & Authorization (Firebase ID Token)
- 📚 Course Info API (from Madgrades)
- ✍️ Review CRUD API
- 💬 Chatroom metadata API (Firebase-linked)
- 👤 User Profile & Enrollment API
## Core Features
- Auth & Authorization (Firebase ID Token)
- Course Info API (from Madgrades)
- Review CRUD API
- Chatroom metadata API (Firebase-linked)
- User Profile & Enrollment API

## 🔐 Auth Flow
## Auth Flow
Clients send Firebase ID Token via header:
Authorization: Bearer <token>
Server verifies and extracts UID, email, isAdmin

## 🧬 Database Schema (Prisma)
## Database Schema (Prisma)
https://dbdiagram.io/d/6813d84f1ca52373f5228e49

## 🔄 Madgrades Sync
## Madgrades Sync
- Sync script: admin/courses/update/route.ts
- Processes thousands of rows using chunked, transactional inserts
- Only retains most recent 5 years of data

## 🚀 Getting Started
## Getting Started
1. Install dependencies
npm install

Expand All @@ -42,18 +42,18 @@ https://dbdiagram.io/d/6813d84f1ca52373f5228e49
3. Start dev server
npm run dev

## 📌 Endpoints
## Endpoints
https://plume-trouser-a64.notion.site/API-197fa6de67e3804eb1c5eb42a5f2da4f?pvs=4

## 👤 Admin Capabilities
## Admin Capabilities
- Manage Course Chatting room
- Update data from Madgrade API

## 🔗 Real-time Chat
## Real-time Chat
- Real-time messages handled in Firebase Realtime Database
- Backend manages only course chat metadata.

## 👨‍💻 Developer
## Developer
Backend: Hyuntaek Oh, Chaerin Yoo, Youngjun Jung
Frontend: https://github.com/raphy0316/BuckyClass-mobile-ReactNative

Expand Down