Geco-SchoolPlan is an open-source scheduling software designed for schools, training organizations, and educational associations.
It allows you to:
- Easily schedule classes, groups, teachers, and rooms
- View timetables in real time with a single click
- Simplify educational organization
- Schools, middle schools, high schools, and training centers
- Educational coordinators looking for a simple and efficient solution
- Developers seeking a modular foundation for a school-oriented application
β
Clear and intuitive interface
β
Modular open-source architecture
β
Easy deployment locally or on a server
β
Full control over your data
β
Real-time visible modifications
β
Caching system for students not connected to the app
β
Drag-and-drop course rescheduling
It consists of:
- π οΈ a web frontend for schedule management (modification, assignment, visualization),
- π± a mobile application for teachers and students, in read-only mode:
π Geco-SchoolPlan-App
You can try Geco-SchoolPlan online at the following address:
π http://212.132.114.62:3000
Test Credentials:
- βοΈ Email:
test@test.com - π Password:
123456
The Android application for Teacher and Student:
Releases
β
Bug fixing
β
Installation
β
VPS Server with Software (Ionos)
-
π User authentication (teachers and students)
-
π Course and timetable management
-
π§ββοΈ Supervision scheduling
-
π² Secure mobile API
-
π JWT-based authentication
-
π‘οΈ Login attempt limitation
-
π§© Role-based access control
-
π Encrypted QR codes for secure mobile authentication
-
π Multilingual support:
System interface languages: French, English, Spanish and German
Teacher & Student app languages: French, English, Spanish, German, Arabic, and Russian
-
Clone the repository:
git clone https://github.com/Michaux-Technology/Geco-SchoolPlan.git cd Geco-SchoolPlan -
Install backend dependencies:
cd backend npm install -
Install frontend dependencies:
cd ../frontend npm install -
Create a
.envfile insidebackendwith the following variables:MONGODB_URI=mongodb://localhost:27017/Geco-SchoolPlan JWT_SECRET=your_jwt_secret PORT=5000 ENCRYPTION_KEY=geco-school-plan-2024-secure-key
-
Create a
.envfile insidefrontendwith the following variables:VITE_SCHOOL_NAME=My School VITE_API_URL=http://xxx.xxx.xxx.xxx:5000 VITE_SCHOOL_NAME=Geco School VITE_ELEVE_USERNAME=eleve VITE_ELEVE_PASSWORD=1234 VITE_ENSEIGNANT_USERNAME=enseignant VITE_ENSEIGNANT_PASSWORD=1234 VITE_ENCRYPTION_KEY=votre_cle_secrete_unique_32_caracteres
xxx.xxx.xxx.xxx is your Server Backend IP
VITE_ELEVE and VITE_ENSEIGNANT are used for QR Code
π QR Code Encryption (Optional but Recommended):
VITE_ENCRYPTION_KEY: Secret key for encrypting QR code data (32 characters)- Add
ENCRYPTION_KEY=votre_cle_secrete_unique_32_caracteresto backend.env - See
QR_CODE_ENCRYPTION.mdfor detailed configuration
cd backend npm startcd frontend npm run dev| Method | Endpoint | Description |
|---|---|---|
| POST | /api/mobile/login | User login |
| GET | /api/mobile/cours | Get courses |
| GET | /api/mobile/enseignants | List of teachers |
| GET | /api/mobile/surveillances | List of supervisions |
| GET | /api/mobile/status | Server status |
- π JWT-based authentication
- π‘οΈ Brute-force login protection
- π Role-based access control
- βοΈ GDPR compliant
Contributions are welcome!
Feel free to open an issue or submit a pull request to suggest improvements or report bugs.
This project is distributed under the Business Source License 1.1, which means:
- β Free for development, testing, research, and personal use
- β Not allowed in production environments without a commercial license
To use Geco-SchoolPlan in a production environment (schools, companies, public servers, etc.), you must obtain a commercial license.
π© License contact:
michaux@free.fr
michaux@magenda.de
Starting July 4, 2030, this project will automatically be relicensed under GPL v3 (fully open source).