GithubHelp home page GithubHelp logo

wikonnect's Introduction

Welcome to wikonnect ๐Ÿ‘‹

Version Documentation License: MIT Issues Forks Stars

Wikonnect

Wikonnect is an open-source e-learning platform that is designed to allow anyone to learn, create content, and contribute to the code. The initial courses offered on the platform will be around digital literacy, to get more people using the internet in more productive ways. Developed by Tunapanda Institute in Nairobi, Kenya. The original platform (called 'swag') was used to provide technology, design, and business training in low-income communities with low bandwidth.

Getting Started

The front-end is developed using Ember.js. We recommend getting started with Ember by going through the tutorials.

The back-end is developed using KoaJS. API doc is hosted at tunapanda.github.io/wikonnect)

Prerequisites

Tech Stack

Development Setup

Installing Node.js

Follow instructions for downloading and installing Node.js for your operating system from the official Node.js website.

Ensure you are installing Node 10 or greater.

Set up PostgreSQL

You should create a postgres user (with password), and set up database. (Don't forget to grant privileges to your user on the database!)

=# CREATE USER my_user WITH PASSWORD 'my_password';
=# CREATE DATABASE my_database;
=# GRANT ALL PRIVILEGES ON DATABASE my_database TO my_user;

Starting the Development Server

Open up Terminal/Powershell/bash and navigate to the directory where you want the project to live.

Clone this repository:

git clone https://github.com/tunapanda/wikonnect.git

Install the node packages in the main project directory...

cd wikonnect/
yarn

Server(API) setup


Now let's set up the server. First, go into the server directory and install the node packages.

cd server/
yarn

Then, rename the file server/config/db.example.js to server/config/db.js, then edit the credentials that will provide access to your development database. (Do not use the development database in a production environment)

development: {
    host: 'localhost',
    database: 'my_database',
    user: 'my_user',
    password: 'my_password',
  },

Next, you will want to set up your database and start your server.

Ensure that you have redis-server running locally in your pc.

For Macos and Windows systems, check out the Download page to download redis-server

To install it in a linux system, run the command below:

sudo apt-get install redis-server

To confirm that the service is active, use the command below:

sudo service redis-server status

If the service is not running, use the command below to start it:

sudo service redis-server start

To run the knex commands that follow later, there are 2 possible options:

  • Install knex CLI globally
  • prefix all the knex commands with npx e.g npx knex migrate:latest (If you have npx installed)

To check if knex CLI is installed globally, run the command below which shows the Knex CLI version:

knex --version

If knex CLI is not installed globally, install it using the command below and make sure to confirm that the installation was successful using the command above:

npm install -g knex

Running knex migrate:latest in the server/ directory will use the migration files in server/migrations to create and format the tables so that they will work with wikonnect.

To populate the database with dummy data (defined in server/db/seeds), run knex seed:run.

Now start your server! yarn start

If you see an Elasticsearch error, don't worry, you don't need Elasticsearch to run the app.

Designs

Head over to Adobe XD to see the complete design.

Front End set-up


Get Ember up and running

Install the node packages for the Ember app. Run yarn in wikonnect/frontend.

Now start your server!

yarn start

Now point your favorite browser to http://localhost:4200/ and you will be able to see the app.

Contributing

wikonnect's People

Contributors

mosesokemwa avatar jakeii avatar mrlarso avatar proverbial-ninja avatar dependabot-preview[bot] avatar ijayabby avatar dependabot[bot] avatar avicndugu avatar bkmgit avatar bonfacekilz avatar colleowino avatar mutugiii avatar

Stargazers

German Renato Cobian avatar  avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.