Skip to content

Ira, the e-learning platform. Course project for the graduate level course CEN5035 - Software Engineering

Notifications You must be signed in to change notification settings

itsfourthidiot/ira

Repository files navigation

example workflow

Ira: The e-learning platform [Link]

Course project for the graduate level course CEN5035 - Software Engineering.

Ira

Team Members

Name Team GitHub Username
Bodke, Gauri Pandharinath Backend GauriBodke
Hadkar, Prasad Ramakant Frontend prasadhbk222
Lawande, Swara Jitendra Frontend swara9
Saoji, Nikhil Mukesh Backend fourth-idiot

Project Topic and Motivation

Ira is an e-learning platform. Name of the platform Ira comes from the name of Hindu goddess Saraswati (Goddess of wisdom and knowledge). Using this platform, instructors can share their knowledge with the world without worrying about the difficulties involved in hosting a platform of their own. On the other hand, students can learn at their own pace, have lifetime access to the courses, select courses from the plethora of available options, and can gain knowledge about wide range of topics as per their interests.

Deployment:

The project has been deployed at the following link: https://iraelearning.com/. It is deployed on AWS EC2 where NGINX is used for reverse proxy. Read more here: [Link]

Application Description (User Roles and Corresponding Functionality):

Guests (Without login):

  • Can view course information page
  • Search a particular course using keywords
  • Guests can login as student or instructor and JWT token is generated. Also, passwords are hashed before storing into database

Students:

  • Can view the courses and enroll in any course.
  • Search a particular course using keywords
  • Can view the list of enrolled courses and corresponding progress
  • After enrollment, they can view all the course modules.
  • Course modules can be either video or quiz.
  • Students can submit quiz and get their scores.

Instructors:

  • Can create a course. A course will have a course content made using the combination of two components (Video/Quiz)
  • videos are stored on AWS s3 bucket and are fetched using presigned url.
  • Can view the list of published courses and also the draft of ongoing course which is not yet published.

Database Design [Link]

API Documentation [Link]

Sprint Progress:

Sprint Wiki link Project board
Sprint 1 Sprint 1 Readme Board 1
Sprint 2 Sprint 2 Readme Board 2
Sprint 3 Sprint 3 Readme Board 3
Sprint 4 Sprint 4 Readme Board 4

Demo videos:

Application functionality testing:

functionality-testing.mp4

Frontend Cypress testing:

frontend-cypress-testing.mp4

Backend Unit and API testing:

backend-unit-testing.mp4

Technology Stack

  • Backend : Golang, gin-gonic, GORM
  • Frontend : Angular 2+
  • Storage: SQLite, AWS S3
  • Deployment: GitHub Actions, Newman (Postman CLI tool), AWS CodeDeploy, AWS EC2, NGINX

About

Ira, the e-learning platform. Course project for the graduate level course CEN5035 - Software Engineering

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •