62 lines
2.4 KiB
Markdown
62 lines
2.4 KiB
Markdown
# **School Planner** 📚
|
|
|
|
Welcome to **School Planner**, a comprehensive tool designed to help manage classroom activities and schedules. Built with **FastAPI** for the backend and **Flet** for the frontend, this app provides a seamless experience for both teachers and students to organize their rooms and schedules.
|
|
|
|
## Table of Contents 📚
|
|
- [Introduction](#introduction)
|
|
- [Features](#features)
|
|
- [Installation](#installation)
|
|
- [Usage](#usage)
|
|
- [Statistics](#statistics)
|
|
- [Contributing](#contributing)
|
|
- [License](#license)
|
|
|
|
## Introduction ✨
|
|
|
|
**School Planner** simplifies classroom management for teachers and students. Teachers can create rooms, set schedules, and manage student participation. Students can view available rooms, check their schedules, and track their involvement in different rooms. This app is powered by **FastAPI** for the backend and **Flet** for the frontend.
|
|
|
|
## Features ⚡
|
|
|
|
### **Teacher Features:**
|
|
- **Create Rooms**: Teachers can create rooms with essential information, such as room name, maximum number of students, date, and time 🏫.
|
|
- **List Open Rooms**: Teachers can view a list of all open rooms to monitor available spaces 📋.
|
|
- **Track Logged Students**: Teachers can view the list of students logged into the room to track participation 🧑🏫.
|
|
|
|
### **Student Features:**
|
|
- **See Joined Rooms**: Students can see the list of rooms they are currently enrolled in and their schedules 📅.
|
|
- **View All Rooms**: Students can browse all available rooms and their details 🌐.
|
|
- **Color-coded Rooms**: Rooms are displayed with different colors to make it easier for students to differentiate between them 🎨.
|
|
|
|
## Installation ⚙️
|
|
|
|
To get started with **School Planner**, follow these simple installation steps:
|
|
|
|
1. Clone the repository:
|
|
```bash
|
|
git clone https://gitea.grevsmuehl.org/jasper/schoolplanner.git
|
|
|
|
2. Navigate to the frontend directory:
|
|
```bash
|
|
cd schoolplanner/frontend
|
|
|
|
3. Install frontend dependencies:
|
|
```bash
|
|
pip install -r requirements-frontend.txt
|
|
|
|
4. Run the frontend with Flet:
|
|
```bash
|
|
flet run --web --host 0.0.0.0 --port 9000 main.py
|
|
|
|
5. Open a new terminal window, and navigate to the main project directory (schoolplanner):
|
|
```bash
|
|
cd ..
|
|
|
|
6. Install backend dependencies:
|
|
```bash
|
|
pip install -r requirements-backend.txt
|
|
|
|
7. Run the backend with Uvicorn:
|
|
```bash
|
|
uvicorn main:app --reload --host 0.0.0.0
|
|
|