e-School Saas

Documentation

By : WRTeam
Email : wrteam.priyansh@gmail.com

Thank you for purchasing e-School Saas. We appreciate your support. In this documentation, you will find instructions on how to set up the admin panel and mobile application for e-School Saas. This document also provides features of e-School Saas. If you have any questions, feel free to reach out. Thank you for choosing e-School Saas!


To find your Purchase code you can visit this link: Where is My Purchase code?

Setup Admin Panel


Prerequisite

  • Laravel Framework 10.0: Ensure your server supports Laravel 10.0, which requires PHP version 8.1.0 or higher for optimal performance.
  • VPS Server for Multi-Tenancy Database: A Virtual Private Server (VPS) is needed to handle multiple databases efficiently, with each school having a separate database.
  • Database Root User or Necessary Permissions: Full root access or adequate privileges are required to create, modify, and delete databases dynamically as part of your multi-tenancy architecture.
  • Max Upload Size: Set a high enough upload size limit (e.g., 50MB+) in the server's to allow for larger file uploads (Required only for updating new version).
  • Max Execution Time & Max Input Time: Adjust the maximum execution time to avoid script timeouts during large operations like creating school databases, database imports, backups, or processing (recommended: 5000 seconds or more).
  • WebSocket Server for Real-time Chat Module: To enable real-time messaging in the chat module, you'll need to set up a WebSocket server. This ensures live communication between users.
  • Ports and Firewall Configuration: Ensure the necessary ports are open and properly configured in your server's firewall for WebSocket communication.

Upload Admin Panel code on server

1. Unzip the code you will see the Admin Panel inside the zip.

2. Upload this folder content on your server in public_html folder.

3. After uploading visit your domain url. You will see the installation wizard.Follow the instructions.



Installation Steps


1. Installation Screen

e-School Saas

2. Server Requirements & Extensions

If PHP version is lower than 8.0 or any extension is not installed then it will be highlighted using Red color. So you need to make sure that your server meets the all requirement.

e-School Saas

3. Permission Screen

Make sure this folder have read & write permissions. If not then assign this folders read & write permissions.

e-School Saas

4. Database Configuration Screen

e-School Saas

5. Database Connection Status

e-School Saas

6. Final installation Screen

If everything is configured successfully then your Admin panel has been installed successfully.You can login as Super Admin using the credentials provided here.

e-School Saas

Addtional Configurations (Admin Panel)


After Installation you need to setup some settings before using the system.

1. Session Year

Set your Current & upcoming session years here, So you can manage studens by session year

e-School Saas

2. App Settings

This settings will be used by your Flutter APP.

e-School Saas

3. General Settings

This settings will be used by Admin Panel.You can set your current session year here.

e-School Saas

Enable School Website Feature & Create Wildcard Domain

NOTE : If you have a VPS server or can create a wildcard domain, you will be able to access this website management feature by clicking on the 'Website Management' box.

  • Create wildcard domain
    • *.domain.com
    • *.subdomain.domain.com
    • Note : Point to the main domain folder
  • Create DNS A record
    • Type : A
    • Name : * (*.domain.com)
    • Name : *.subdomain (*.subdomain.domain.com)
    • Point To : Your server IP


4. FCM Settings



Need to enter Firebase project id and Firebase service file.

e-School Saas

You can get firebase project id and service file as shown in the images.


e-School Saas

e-School Saas

5. Email Configurations

Send Email configurations so that system can send emails to registered users.

e-School Saas

6. Fee payment Configurations

Stripe credentials. At a time only one payment gateway will be enable

e-School Saas

7. Payment Gateway's Webhook Configration

2. Webhook Configration for Stripe

e-School Saas e-School Saas e-School Saas e-School Saas

8.Google reCAPTCHA Configurations

Set the API keys as shown in the image. You can get the API keys from here https://www.google.com/recaptcha/admin/create

e-School Saas


Setup flutter


Setup flutter in your system

    Visit flutter official website : https://docs.flutter.dev/get-started/install for full install guide.

    If you prefer video tutorials, we recommend this playlist for the full installation process
    https://www.youtube.com/playlist?list=PLSzsOkUDsvdtl3Pw48-R8lcK2oYkk40cm

Change package name


  1. Unzip the downloaded code. After unzipping you will have e-School Saas - Flutter Code zip folder. Unzip that folder and open it in Android Studio or Visual Studio Code.
  2. Open ide terminal go to your project path and execute command

    flutter pub get

  3. If you are running this app for ios then run these following commands in terminal.

    cd ios

    pod install

    cd ..

  4. Change package name of android app
    Execute this command in your terminal

    flutter pub run change_app_package_name:main your_new_package_name


    e-School Saas

  5. Change package name of ios app
    Open ios folder of this project in xcode. Go Select Runner->Targets->General->Identity and enter new package name in Build Identifier.

    e-School Saas

Integrate with firebase


  1. Create firebase project in your account


    e-School Saas

    e-School Saas

    e-School Saas

    e-School Saas

  2. To setup the firebase in your flutter app, please follow the steps given in the following link. https://firebase.google.com/docs/flutter/setup

  3. To setup notificaiton settings in ios, please follow the steps given in the following link. https://firebase.flutter.dev/docs/messaging/apple-integration

Integrate with admin panel


Go to lib/utils/constants.dart and replace the baseUrl with your admin panel url. Set your socket url as well.



e-School Saas

Change app name


For Android, go to android/app/src/main/AndroidManifest.xml and change the app name as shown in image. Replace the selected eschool text with your school name



e-School Saas

For IOS open this project in xcode and enter your app name in display name field as shown in image.



e-School Saas

Run this app


Please setup java path in android/gradle.properties file as shown in the image.


e-School Saas

Open your terminal, navigate to your project path and execute the following command to run this app.


flutter run


Go to README.md file to check all the commonly used commands to fix issues that you may encounter while running the app. You'll also be able to run the shell script directly if you're using Android Studio.


e-School Saas

Change app theme


Go to lib/ui/styles/colors.dart and set your theme colors


e-School Saas

Change font in app


  1. Go to lib/app/app.dart and add your font as shown in image.



    e-School Saas

  2. Go to assets/google_fonts/ and add .tff files of fonts.



    e-School Saas

Change language in app


  1. By default,default applicaiton language is english. If you want to change default language go to lib/utils/appLanguages.dart and add your respective language's code shown in below image. Get your language code from here https://developers.google.com/admin-sdk/directory/v1/languages.



    e-School Saas

  2. If your default language code is not in app language list add language details in list as shown in below image. Go to lib/utils/appLanguages.dart



    e-School Saas

  3. If your default language is not in assets/languages/[language-code].json then create new file in same folder with [language-code].json. Add all the labels from en.json and convert label values in your respective language



    e-School Saas

  4. Copy all the labels form en.json file in your [language-code].json file.



    e-School Saas

  5. If you want to add new language then follow the steps 2,3 and 4.

Change item animations


In the lib/utils/constants.dart file, to enable/disable item appearing animations, you can change the value of isApplicationItemAnimationOn to true/false according to your requirements.

To change the duration of animation you can adjust the milliseconds of different animations by increasing/decreasing the values of the duration variables.



e-School Saas

Generate release version


Create and add Key Store file for Androd:



  1. To generate a keystore file, run the following command:


    keytool -genkey -v -keystore your-keystore-file.jks -keyalg RSA -keysize 2048 -validity 10000 -alias your-alias

    You can replace "your-keystore-file.jks" with your preferred filename, but ensure you keep the ".jks" extension. Similarly, you can change "your-alias" as needed, but make sure to remember it. During this process, you will be prompted to set a password; please note that the password characters won't be visible on the screen.

    Additional information may be requested, but you can simply press Enter to skip those as they are optional fields.



  2. Create a file named "key.properties" in your project's "android" folder and add the following details, which correspond to the information you used in the previous step:


    storePassword=[your-password-from-previous-step]
    keyPassword=[your-password-from-previous-step]
    keyAlias=[your-alias-from-previous-step]
    storeFile=[your-keystore-file-location]


    Replace the placeholders ("[]" brackets) with the actual details you used. Once these two steps are completed, you can generate either an APK file using the following command:


    flutter build apk

    Or an app bundle file for the Play Store upload with:


    flutter build appbundle


e-School Saas



Follow these links for more information on generateing the release version:



  1. To generate release android app-bundle and publish to playstore follow https://flutter.dev/docs/deployment/android



  2. To generate release ios apk and publish to appstore follow https://flutter.dev/docs/deployment/ios

Scope of Staff Teacher App


Accessibility of Teacher

  • View Timetable
  • Add and view attendance
  • Add and view attendance
  • Manage lesson, topics, manage class announcements and assignment
  • Manage exam result
  • Manage leaves
  • View payrolls
  • Edit profile and change password

Accessibility of Staff/Admin

  • View classes and session years
  • View and manage leaves
  • View student attendance
  • View class and teacher timetable
  • View exam and exam results
  • Manage notifications and announcements
  • Manage payrolls
  • View paid fees
  • Edit profile and change password

How to get Socket URL


Install Supervisor



e-School Saas

Supervisor settings



e-School Saas

Your Socket URL



e-School Saas


ws://YOUR-SERVER-IP:8090



Setup websocket using terminal


Open the Terminal from an SSH Connection.

sudo apt-get update
sudo apt-get install supervisor
sudo nano /etc/supervisor/conf.d/your-laravel-websockets.conf


[program:laravel-websockets]
process_name=%(program_name)s_%(process_num)02d
command=php /path/to/your/laravel/artisan websocket:init
autostart=true
autorestart=true
user=username
numprocs=1
redirect_stderr=true
stdout_logfile=/path/to/your/laravel/storage/logs/laravel-websockets.log


sudo supervisorctl reread
sudo supervisorctl update


sudo supervisorctl start laravel-websockets

sudo supervisorctl status
You should see something like:
laravel-websockets RUNNING pid 12345, uptime 0:03:21

Your Socket URL

ws://YOUR-SERVER-IP:8090


Support


Its our pleasure to serve and support our customers. Please contact our support team if you encounter any issues or have any questions related to e-School Saas.


Customer Support Head for e-School Saas : Priyansh WRTeam


To help our customers, we constantly be in touch with every customer if they need any assistance regarding our product.
We offer our customers a support from Mon – Fri 9.00am to 6.00pm IST (GMT +5.30) – We are a Team located in India – Asia. Typically we reply our customers for all the questions and queries within 24 hours of time via comments, support forum or emails.

Rating


Your Feedback


Dear valuable customer, Thank you very much for choosing our product. It's our pleasure to serve top-notch service to you. Please give us your honest feedback that will help us to make a more strong and reliable product by click here Rate Us. Thank you very much.

Contact Us


WRTeam has creative and dedicated group of developers who are mastered in Apps Developments and Web Application Development with a niche in delivering quality solutions to customers across the globe. Contact us today to find out how we can help you or for freelance work.

Visit Us : https://wrteam.in

Mail Us : support@wrteam.in


Thank you very much.