Update README.md
Browse files
README.md
CHANGED
@@ -15,49 +15,222 @@ tags:
|
|
15 |
emoji: π§
|
16 |
---
|
17 |
|
18 |
-
#
|
19 |
|
20 |
-
GrabbeAI
|
21 |
|
22 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
24 |
-
|
25 |
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
- **Finetuned from model:** gemma-2-9b
|
34 |
|
35 |
-
|
36 |
|
37 |
-
|
|
|
|
|
|
|
38 |
|
39 |
-
###
|
|
|
40 |
|
41 |
-
|
42 |
|
43 |
-
|
|
|
|
|
|
|
44 |
|
45 |
-
|
46 |
-
|
47 |
-
|
|
|
|
|
48 |
|
49 |
-
|
50 |
|
51 |
-
|
|
|
|
|
|
|
52 |
|
53 |
-
|
|
|
|
|
|
|
|
|
54 |
|
55 |
-
|
56 |
|
57 |
-
##
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
|
59 |
-
|
|
|
60 |
|
61 |
-
|
|
|
|
|
62 |
|
63 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
emoji: π§
|
16 |
---
|
17 |
|
18 |
+
# GrabbeAI: A School's Leap into the Future of AI ππ
|
19 |
|
20 |
+
Welcome to the official documentation of **GrabbeAI**, the first AI model developed specifically for a school! GrabbeAI is a groundbreaking project implemented at the **Christian-Dietrich-Grabbe-Gymnasium (GGY)** in Detmold, Germany. Its purpose is to revolutionize the way information is accessed and communication is handled for students, teachers, and parents. Fully integrated into the schoolβs homepage, GrabbeAI serves as a digital assistant for a wide range of tasks, making school life simpler, smarter, and more connected.
|
21 |
|
22 |
+
---
|
23 |
+
|
24 |
+
## Table of Contents π
|
25 |
+
- [Overview](#overview)
|
26 |
+
- [Components](#components)
|
27 |
+
- [Frontend](#frontend)
|
28 |
+
- [Backend](#backend)
|
29 |
+
- [Dataset](#dataset)
|
30 |
+
- [Features](#features)
|
31 |
+
- [Technology Stack](#technology-stack)
|
32 |
+
- [Security and Authentication](#security-and-authentication)
|
33 |
+
- [Setup and Installation](#setup-and-installation)
|
34 |
+
- [Development Workflow](#development-workflow)
|
35 |
+
- [Deployment](#deployment)
|
36 |
+
- [Community and Contribution](#community-and-contribution)
|
37 |
+
- [Acknowledgments](#acknowledgments)
|
38 |
+
- [References](#references)
|
39 |
+
- [License](#license)
|
40 |
+
|
41 |
+
---
|
42 |
+
|
43 |
+
## Overview π
|
44 |
+
GrabbeAI is a cutting-edge AI solution, fine-tuned from OpenAI's **GPT-4o mini** model, making it the first school-focused AI implementation of its kind. Officially launched in **January 2025**, it combines the latest advancements in AI with tailored functionalities to meet the unique needs of the Christian-Dietrich-Grabbe-Gymnasium community.
|
45 |
+
GrabbeAI is the **first-ever school-focused AI model**, officially launched in **January 2025**. It was meticulously designed to meet the needs of the Christian-Dietrich-Grabbe-Gymnasium community, combining the latest advancements in artificial intelligence with a user-centric approach. GrabbeAI simplifies complex communication chains and ensures that relevant information is always just a click away.
|
46 |
+
|
47 |
+
### Key Benefits:
|
48 |
+
- **For Students** π: Instant access to timetables, assignments, FAQs, and extracurricular activities.
|
49 |
+
- **For Teachers** π©βπ«: Effortless class management and parent communication.
|
50 |
+
- **For Parents** π¨βπ©βπ§: Timely updates on their childβs progress, events, and important announcements.
|
51 |
|
52 |
+
The platform represents a significant step forward in education technology, showcasing how AI can create a better, more efficient learning environment.
|
53 |
|
54 |
+
---
|
55 |
+
|
56 |
+
## Components π§©
|
57 |
+
GrabbeAI is built on three foundational components that work seamlessly together:
|
58 |
+
|
59 |
+
### Frontend π
|
60 |
+
The **frontend** delivers a sleek, interactive user interface that is fully responsive and easy to navigate. This part of the system is designed to provide users with a simple yet powerful experience on any device.
|
|
|
61 |
|
62 |
+
π [Frontend Repository](https://github.com/Grabbe-Gymnasium-Detmold/grabbe-ai-website)
|
63 |
|
64 |
+
#### Highlights:
|
65 |
+
- **Modern Design**: Developed using **React**, **Vite**, and **TailwindCSS**.
|
66 |
+
- **Localization**: Multi-language support via **i18next** ensures inclusivity.
|
67 |
+
- **Engaging Animations**: Powered by **Framer Motion** for smooth, visually appealing interactions.
|
68 |
|
69 |
+
### Backend π οΈ
|
70 |
+
The **backend** forms the AI-powered brain of GrabbeAI. It integrates directly with OpenAI's state-of-the-art models to generate intelligent responses and manages all API interactions.
|
71 |
|
72 |
+
π [Backend Repository](https://github.com/Grabbe-Gymnasium-Detmold/grabbe-ai-backend)
|
73 |
|
74 |
+
#### Features:
|
75 |
+
- **Efficient AI Integration**: Leveraging OpenAI for quick and accurate responses.
|
76 |
+
- **Simple and Secure**: Though it lacks traditional authentication, GrabbeAI employs secure methods to protect sensitive information while remaining user-friendly.
|
77 |
+
- **Database Support**: Uses **MySQL** to store key data reliably.
|
78 |
|
79 |
+
### Dataset π
|
80 |
+
The dataset is the cornerstone of GrabbeAIβs ability to answer questions effectively. It includes:
|
81 |
+
- Detailed FAQs covering school policies, events, and procedures.
|
82 |
+
- Comprehensive teacher and staff directories.
|
83 |
+
- Key documents and downloadable resources.
|
84 |
|
85 |
+
π [Dataset Repository](https://github.com/Grabbe-Gymnasium-Detmold/grabbe-ai-dataset)
|
86 |
|
87 |
+
---
|
88 |
+
|
89 |
+
## Features β¨
|
90 |
+
GrabbeAI is loaded with features that make it an indispensable tool for the Grabbe-Gymnasium community:
|
91 |
|
92 |
+
1. **Custom AI Assistance**: Tailored for school-related queries, ranging from timetables to teacher contact details.
|
93 |
+
2. **Seamless Communication**: Facilitates better interaction between teachers, students, and parents.
|
94 |
+
3. **Real-Time Information**: Provides instant updates on events, schedules, and announcements.
|
95 |
+
4. **User-Friendly Interface**: Accessible to users of all technical skill levels.
|
96 |
+
5. **AI-Powered Insights**: Intelligently answers questions using OpenAIβs advanced models.
|
97 |
|
98 |
+
---
|
99 |
|
100 |
+
## Technology Stack π οΈ
|
101 |
+
The development of GrabbeAI involved a robust stack of modern technologies:
|
102 |
+
|
103 |
+
### Frontend:
|
104 |
+
- **React**: Building dynamic and scalable user interfaces.
|
105 |
+
- **Vite**: A high-performance build tool.
|
106 |
+
- **TailwindCSS**: Utility-first CSS for rapid styling.
|
107 |
+
- **Framer Motion**: Library for animations and transitions.
|
108 |
+
- **i18next**: Enabling multi-language support.
|
109 |
+
|
110 |
+
### Backend:
|
111 |
+
- **Node.js**: JavaScript runtime for server-side processing.
|
112 |
+
- **Nitropack**: Framework for fast API responses.
|
113 |
+
- **MySQL**: Relational database management system.
|
114 |
+
- **OpenAI API**: Powers AI capabilities.
|
115 |
+
- **IPinfo**: Provides geolocation data based on IP addresses.
|
116 |
+
|
117 |
+
---
|
118 |
+
|
119 |
+
## Security and Authentication π
|
120 |
+
Although GrabbeAI does not implement complex authentication protocols, it ensures security by:
|
121 |
+
- Using **secure API endpoints**.
|
122 |
+
- Maintaining user privacy by limiting data access.
|
123 |
+
- Restricting contributions and interactions to authorized members of the Grabbe-Gymnasium community.
|
124 |
+
|
125 |
+
The simplicity of its security framework allows for faster user onboarding while maintaining a high standard of data integrity.
|
126 |
+
|
127 |
+
---
|
128 |
+
|
129 |
+
## Setup and Installation βοΈ
|
130 |
+
Getting started with GrabbeAI is straightforward:
|
131 |
+
|
132 |
+
### Frontend:
|
133 |
+
1. Clone the repository:
|
134 |
+
```bash
|
135 |
+
git clone https://github.com/Grabbe-Gymnasium-Detmold/grabbe-ai-website.git
|
136 |
+
```
|
137 |
+
2. Navigate to the directory:
|
138 |
+
```bash
|
139 |
+
cd grabbe-ai-website
|
140 |
+
```
|
141 |
+
3. Install dependencies:
|
142 |
+
```bash
|
143 |
+
npm install
|
144 |
+
```
|
145 |
+
4. Start the development server:
|
146 |
+
```bash
|
147 |
+
npm run dev
|
148 |
+
```
|
149 |
+
|
150 |
+
### Backend:
|
151 |
+
1. Clone the repository:
|
152 |
+
```bash
|
153 |
+
git clone https://github.com/Grabbe-Gymnasium-Detmold/grabbe-ai-backend.git
|
154 |
+
```
|
155 |
+
2. Navigate to the directory:
|
156 |
+
```bash
|
157 |
+
cd grabbe-ai-backend
|
158 |
+
```
|
159 |
+
3. Install dependencies:
|
160 |
+
```bash
|
161 |
+
npm install
|
162 |
+
```
|
163 |
+
4. Configure the environment:
|
164 |
+
Create a `.env` file with the necessary keys (refer to the backend README).
|
165 |
+
5. Start the server:
|
166 |
+
```bash
|
167 |
+
npm run dev
|
168 |
+
```
|
169 |
+
|
170 |
+
---
|
171 |
|
172 |
+
## Development Workflow π§
|
173 |
+
Development involves these core scripts:
|
174 |
|
175 |
+
- **Frontend:**
|
176 |
+
- `npm run dev`: Starts the development server.
|
177 |
+
- `npm run build`: Prepares the application for production.
|
178 |
|
179 |
+
- **Backend:**
|
180 |
+
- `npm run dev`: Starts the API server.
|
181 |
+
- `npm run build`: Prepares the backend for deployment.
|
182 |
+
|
183 |
+
---
|
184 |
+
|
185 |
+
## Deployment π
|
186 |
+
|
187 |
+
### Frontend:
|
188 |
+
1. Build the application:
|
189 |
+
```bash
|
190 |
+
npm run build
|
191 |
+
```
|
192 |
+
2. Deploy the contents of the `dist/` directory to a static hosting provider such as **GitHub Pages** or **Vercel**.
|
193 |
+
|
194 |
+
### Backend:
|
195 |
+
1. Build the API:
|
196 |
+
```bash
|
197 |
+
npm run build
|
198 |
+
```
|
199 |
+
2. Deploy the backend to a cloud service like **DigitalOcean** or **AWS**.
|
200 |
+
|
201 |
+
---
|
202 |
+
|
203 |
+
## Community and Contribution π€
|
204 |
+
GrabbeAI was developed by the school community, for the school community. Contributions are currently limited to authorized staff and students of Grabbe-Gymnasium. If you are part of the school and would like to contribute:
|
205 |
+
|
206 |
+
1. Fork the repository.
|
207 |
+
2. Create a feature branch (`git checkout -b feature/your-feature-name`).
|
208 |
+
3. Commit your changes (`git commit -m 'Add feature XYZ'`).
|
209 |
+
4. Push to the branch (`git push origin feature/your-feature-name`).
|
210 |
+
5. Open a pull request for review.
|
211 |
+
|
212 |
+
---
|
213 |
+
|
214 |
+
## Acknowledgments π
|
215 |
+
GrabbeAI was envisioned and brought to life by:
|
216 |
+
- **Finn Busse**
|
217 |
+
- **Maximilian von Beck**
|
218 |
+
|
219 |
+
Special thanks to the entire Grabbe-Gymnasium community for their support and input during the development process.
|
220 |
+
|
221 |
+
---
|
222 |
+
|
223 |
+
## References π
|
224 |
+
- **Finn Busse**: Primary developer and visionary.
|
225 |
+
- **Maximilian von Beck**: Lead backend engineer.
|
226 |
+
|
227 |
+
---
|
228 |
+
|
229 |
+
## License π
|
230 |
+
This project is the exclusive property of Christian-Dietrich-Grabbe-Gymnasium. Unauthorized use, copying, or distribution is prohibited.
|
231 |
+
|
232 |
+
For inquiries or support, contact:
|
233 |
+
- `[email protected]`
|
234 |
+
- `[email protected]`
|
235 |
+
|
236 |
+
---
|