All Projects → anantajitjg → eGyan

anantajitjg / eGyan

Licence: MIT License
eGyan is a web application built with Node.js (Express) and Hasura (https://hasura.io/) Platform. It is a simple and effective eLearning app for everyone.

Programming Languages

javascript
184084 projects - #8 most used programming language
PLSQL
303 projects
HTML
75241 projects
CSS
56736 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to eGyan

opentok-elearning-samples
Sample applications highlighting integrations between OpenTok and Learning Management Systems (LMS)
Stars: ✭ 18 (-50%)
Mutual labels:  elearning-application, elearning
ultron-ele
The world’s fastest LMS engine based on Gatsby -- Deliver knowledge with fun!
Stars: ✭ 27 (-25%)
Mutual labels:  elearning, elearningapp
soak-your-brain-elearning-app
An e-learning platform built in python (django)
Stars: ✭ 18 (-50%)
Mutual labels:  elearning-application, elearning
question-driven-learning
Stay hungry stay foolish
Stars: ✭ 17 (-52.78%)
Mutual labels:  learning
MERN Stack Project Ecommerce Hayroo
E-commerce Website | Reactjs | Nodejs | Mongodb | Expressjs | JWT | Tailwind Css
Stars: ✭ 255 (+608.33%)
Mutual labels:  expressjs
learn-react-typescript
Learning React contents with TypeScript (Hooks, Redux)
Stars: ✭ 15 (-58.33%)
Mutual labels:  learning
express-mysql-rest
Building the simple api with sequelize, mysql and express js. this repository contains the code about how to use sequelize with mysql at express js. for example i have provide the crud operation to this repository. You can also testing the api with chai and mocha with chai-http by this repository
Stars: ✭ 25 (-30.56%)
Mutual labels:  expressjs
book-sentences
A collection of sentences from different books.
Stars: ✭ 43 (+19.44%)
Mutual labels:  learning
cloudflare-worker-rest-api
A cloudflare worker module which helps building REST Api quickly and easily, similar to express framework.
Stars: ✭ 31 (-13.89%)
Mutual labels:  expressjs
data-visualization-sample-app
Sample application to visualize basic activity on your Zoom account and can be used as code example to assist new Zoom Developers
Stars: ✭ 18 (-50%)
Mutual labels:  expressjs
frontendQuickbytes
A repo containing real life frontend challenges which you can use to practice frontend!
Stars: ✭ 129 (+258.33%)
Mutual labels:  learning
dummy-products-api
An api to fetch dummy e-commerce product 👕 👗 👖 👚 JSON data with placeholder images.
Stars: ✭ 102 (+183.33%)
Mutual labels:  expressjs
react-redux-blog
A MERN Stack CRUD Web Application
Stars: ✭ 36 (+0%)
Mutual labels:  expressjs
pppr
pppr is a prerender service
Stars: ✭ 18 (-50%)
Mutual labels:  expressjs
docker-node-mongo-react-STARTER
🐋 🍃 ⚛️ Boilerplate for Node.js, MongoDB, React Applications (with Docker)
Stars: ✭ 34 (-5.56%)
Mutual labels:  expressjs
androidCourseKotlin
Android Course in Kotlin
Stars: ✭ 19 (-47.22%)
Mutual labels:  learning
technical-articles
Just a place where I can store demo projects for my technical articles.
Stars: ✭ 28 (-22.22%)
Mutual labels:  learning
tutorial-crud-mean
Repositório responsável pelo tutorial realizado no canal do youtube
Stars: ✭ 41 (+13.89%)
Mutual labels:  expressjs
generator-espress
an opinionated yeoman generator that scaffolds a mvc express webapp completely in es6
Stars: ✭ 20 (-44.44%)
Mutual labels:  expressjs
spid-express
Express middleware implementing SPID & Entra con CIE (Carta d'Identità Elettronica)
Stars: ✭ 27 (-25%)
Mutual labels:  expressjs

eGyan

eGyan is a web application built with Node.js (Express) and Hasura Platform. It is a simple and effective eLearning app for everyone.

Overview

This provides you with a great starting point for building a full-fledged eLearning application. In eGyan a user/student needs to register with a username and password for accessing the course content and to save his course progress. Courses are categorized based on activity- Active courses, completed courses, courses yet to be enrolled/Available Courses. Each courses are divided into separate modules. Each module contains different topics. Each topics are points based. So, students can accumulate points to collect different badges. This will make learning interesting! In order to collect points they have to mark each topic as completed!

eGyan Video

Setup

Initial Setup

Setup the Hasura CLI

The hasura CLI is a command line utility to help you get your backend setup quickly. It helps you create projects, manage clusters and manage microservices and explore APIs running on the cluster. The instructions for setup are available from here.

Login

Next, login or register by running the following command:

$ hasura login

This command will open up the browser and allow you to register with a new account (or login to your existing account).

Clone the project

Now, clone this project by running this command

$ hasura clone anantajitjg/egyan

Project Structure

The project (a.k.a. project directory) has a particular directory structure and it has to be maintained strictly, else hasura cli would not work as expected. A representative project is shown below:

.
├── hasura.yaml
├── clusters.yaml
├── conf
│   ├── authorized-keys.yaml
│   ├── auth.yaml
│   ├── ci.yaml
│   ├── domains.yaml
│   ├── filestore.yaml
│   ├── gateway.yaml
│   ├── http-directives.conf
│   ├── notify.yaml
│   ├── postgres.yaml
│   ├── routes.yaml
│   └── session-store.yaml
├── migrations
└── microservices
    ├── adminer
    │   └── k8s.yaml
    └── www
        ├── src/
        ├── k8s.yaml
        └── Dockerfile

hasura.yaml

This file contains some metadata about the project, namely a name, description and some keywords. Also contains platformVersion which says which Hasura platform version is compatible with this project.

clusters.yaml

Info about the clusters added to this project can be found in this file. Each cluster is defined by it's name allotted by Hasura. While adding the cluster to the project you are prompted to give an alias, which is just hasura by default. The kubeContext mentions the name of kubernetes context used to access the cluster, which is also managed by hasura. The config key denotes the location of cluster's metadata on the cluster itself. This information is parsed and cluster's metadata is appended while conf is rendered. data key is for holding custom variables that you can define.

Hasura cluster

We need a Hasura cluster where we can deploy our project. The instructions for creating a Hasura cluster are available from here.

Get cluster information and the microservices running

Inside your project directory, run:

$ hasura cluster status

common.js

Edit cluster name in common.js (microservices > www > src > public > js) with your current cluster name. For example, if the cluster name is flashiness71 (existing one), then

var cluster_name = "flashiness71";

Deploy the Project

$ git add .
$ git commit -m "some message"
$ git push hasura master

Once this project is deployed on to a hasura cluster, you will have eGyan app running at https://www.<cluster-name>.hasura-app.io

Accessing Console

Now that you have deployed the project on your cluster, you would want to manage the schema and explore APIs.

Access the api-console via the following command:

$ hasura api-console

This will open up Console UI on the browser. You can access it at http://localhost:9695

License

eGyan is open-sourced software licensed under the MIT license. See the LICENSE for more.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].