Skip to content

Saiki is a modern LMS for universities that focus on improving teachers and students experience.

License

Notifications You must be signed in to change notification settings

progrmoiz/Saiki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


Saiki is modern LMS for universities that focus on improving teachers and students experience.


stars license GitHub contributors made-with-python

Table of contents

Modules and Features

  • Course
  • Notification
  • Teachers and Student side
  • Stream (forum)
  • Announcement
  • Assignment
  • Result
  • Resources

Installation

To get this project up and running locally on your computer:

  1. Clone the repo https://github.com/progrmoiz/Saiki
  2. Go to the Saiki directory
  3. Create a new database on postgres e.g.: β€œSAIKI_DB”
  4. Add your db config in settings.py
  5. Assuming you have Python setup, run the following commands (if you're on Windows you may use py or py -3 instead of python3 to start Python):
pip3 install psycopg2-binary
python3 -m pip install Pillow
pip3 install -r requirements.txt
python3 manage.py makemigrations
python3 manage.py migrate
python3 manage.py collectstatic
python3 manage.py test # Run the standard tests. These should all pass.
python3 manage.py createsuperuser # Create a superuser
python3 manage.py runserver
  1. Open a browser to http://127.0.0.1:8000/admin/ to open the admin site
  2. Open tab to http://127.0.0.1:8000 to see the main site.
  3. Change the site name via the Django Admin in the Sites app (/admin/sites/site/).

Requirements

To install all required modules use the following command in project dir: pip install -r requirements.txt

Build and Run

To run the project use the following command in project dir: python manage.py runserver

Design of the Project

ERD

UML Diagrams

Activity Diagram

Class Diagram

Sequence Diagram

State Chart Diagram

Component Diagram

Deployment Diagram

Some Screenshots of Saiki

Login Announcement Notification
Login screen Announcement screen Notification screen
View profile Edit account Topbar Notification
View profile screen Edit account screen Topbar notification
All courses Course stream Course people
All courses screen Course stream screen Course people screen
Course assignments All assignments Assignment Detail
Course assignments screen All assignments screen Assignment detail screen
Course resources Results Assignments (teacher)
Course resource screen Result screen Assignment teacher screen
Assignment submission (teacher) Edit assignment (teacher) Edit grade (teacher)
Assignment submissions screen teacher Edit assignment screen teacher Edit grade screen teacher

Future Work Ideas

  • Currently some part of the application is build with React. Convert the front-end side with SSR React.
  • Currently some module have REST API. Create full REST API for the application must include permission and authorization.
  • Add plagrism support to assignment module.
  • Intigrate Turnitin with assignment module.
  • Add support for google docs, spreadsheets and slides so user can create directly from assignment detail page.
  • Add report generation module to generate any kind of report (academic progress, status, result, transcript, etc).
  • Add attendance module.
  • Add more than one instructor support to courses.
  • Course can be created by anyone (Person who create the course become instructor).
  • Course can be join via invite code or link.
  • Improve Stream (forum) inside Course.
  • Integrate Zoom so instructor can schedule meeting.
  • Add support for live meeting within the application using Skype.
  • Create a mini social network within the orgnaziation (so student & teacher under same organization can talk to each other).
  • Add calendar integration & scheduling system.
  • Create scripts to automate installation.
  • Create scripts to dump lots of dummy data.
  • Create Oauth provider so other app can connect with this application.
  • Create a marketplace for third-party application.
  • have more ideas add it here...

Contributing

Please check the CONTRIBUTING.md file for contribution instructions and naming guidelines.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Abdul Moiz

πŸ’» πŸ€”

Abdul Samad

πŸ’» πŸ“–

muhammad-jawad-92

πŸ’» πŸ“–

This project follows the all-contributors specification. Contributions of any kind are welcome!

License

Copyright Β© 2020, Moiz Farooq. Released under the GNU GPLv3.

⬆️ Back To Top