All Projects → tunapanda → wikonnect

tunapanda / wikonnect

Licence: MIT license
Wikonnect seeks to bridge the digital divide through the provision of digital literacy skills. Management support through Asha (www.asha.io).

Programming Languages

javascript
184084 projects - #8 most used programming language
Handlebars
879 projects
SCSS
7915 projects
CSS
56736 projects
HTML
75241 projects
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to wikonnect

awesome-learning-collections
✨ A curated list of awesome learning collections on various topics.
Stars: ✭ 76 (+145.16%)
Mutual labels:  education
Awesome CV
Curated educational list for computer vision
Stars: ✭ 68 (+119.35%)
Mutual labels:  education
data-science-training
Reproducible data science with R, RStudio, Git, and GitHub
Stars: ✭ 18 (-41.94%)
Mutual labels:  education
xlines
X lines of Python
Stars: ✭ 100 (+222.58%)
Mutual labels:  education
restria
Entria's REST API boilerplate
Stars: ✭ 25 (-19.35%)
Mutual labels:  koajs
google-guide-to-technical-development
This guide provides tips and resources to help you develop your technical skills (academically and non-academically) through self-paced, hands-on learning. This guide is intended for Computer Science students seeking an internship or university grad role at Google.
Stars: ✭ 90 (+190.32%)
Mutual labels:  education
microless
Using docker and nodejs to build Microservice
Stars: ✭ 16 (-48.39%)
Mutual labels:  koajs
cotswoldjam
Command-line utilities for the Raspberry Pi, of particular interest to Raspberry Jam organisers & educators
Stars: ✭ 90 (+190.32%)
Mutual labels:  education
project-omega
A collection of non-trivial coding problems to improve software engineering skills.
Stars: ✭ 15 (-51.61%)
Mutual labels:  education
HEVD Kernel Exploit
Exploits pack for the Windows Kernel mode driver HackSysExtremeVulnerableDriver written for educational purposes.
Stars: ✭ 44 (+41.94%)
Mutual labels:  education
ember-boilerplate
👓 The stable base upon which we build our Ember.js projects at Mirego.
Stars: ✭ 33 (+6.45%)
Mutual labels:  emberjs
teaching-app-dev-swift-archive
DEPRECATED. Teaching App Development with Swift materials, bundled up as a single archive.
Stars: ✭ 14 (-54.84%)
Mutual labels:  education
office-hours-help-queue
A queue to help manage office hours for large courses
Stars: ✭ 77 (+148.39%)
Mutual labels:  education
Spyware
Python-based spyware for Windows that logs the foreground window activites, keyboard inputs. Furthermore it is able to take screenshots and and run shell commands in the background.
Stars: ✭ 31 (+0%)
Mutual labels:  education
amtgo
Intel AMT / vPro mass management tool
Stars: ✭ 25 (-19.35%)
Mutual labels:  emberjs
koa-server
🗄️ GraphQL Back-end Server with Relay, Koa, MongoDB and Mongoose
Stars: ✭ 31 (+0%)
Mutual labels:  koajs
physics-is-beautiful
Files for Physics Is Beautiful Website
Stars: ✭ 12 (-61.29%)
Mutual labels:  education
legesher
Because language shouldn't be a barrier to code
Stars: ✭ 29 (-6.45%)
Mutual labels:  education
v3
Lightweight, multi-board spaces for teaching remote classes
Stars: ✭ 31 (+0%)
Mutual labels:  education
pylife
a general library for fatigue and reliability
Stars: ✭ 45 (+45.16%)
Mutual labels:  education

All Contributors

Welcome to Wikonnect 👋

Version Documentation License: MIT Issues Forks Stars

Wikonnect

Wikonnect is an open-source e-learning platform designed to allow anyone to learn, create educational content, and contribute to building the platform as a designer or a software developer. 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.

Come say hi 👋 on our Wikonnect Community Discord Server!

Getting Started

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

The backend is developed using KoaJS. The API docs are hosted at tunapanda.github.io/wikonnect

Wikonnect Tech Stack

Development setup

  • Clone the project using Git into your workspace:
  git clone https://github.com/tunapanda/wikonnect.git
  • Proceed to set up the development environment manually or using Docker.

Docker project setup


Prerequisites

  • Docker Engine
Docker engine installation
Starting a development server
  1. If your Docker engine instance is running on your terminal, navigate into the project root directory:
cd wikonnect/
  1. Copy the .env-sample configuration file to .env. (Never commit this file)

  2. Update the above .env file configurations to match your desired setup.

  3. Build and run the project container services using the docker-compose command:

      docker-compose up --build
    

NOTE The NODE_ENV should be set as development to allow live reload on code changes.

Manual project setup


Prerequisites

  • Node.js v14.16.0
  • PostgreSQL database server
Setting up Node.js

Follow instructions on how to download and install Node.js based on your operating system from the official Node.js website.

Ensure you install Node v14.16.0

Setting up PostgreSQL

Create a postgres user (with password), and set up a database for the project (Don't forget to grant privileges to the user on the database!). :

=# CREATE USER wikonnect_user WITH PASSWORD 'password';
=# CREATE DATABASE wikonnect;
=# GRANT ALL PRIVILEGES ON DATABASE wikonnect TO wikonnect_user;

Starting a development server

Install the project-wide dependencies on the root project directory...

cd wikonnect/
yarn
Backend (API) setup

Backend set up steps:

  1. Navigate into the server directory

    cd server/
    
  2. Install the backend dependencies

    yarn
    
  3. Copy the database configuration file server/config/db.example.js to server/config/db.js

  4. Replace the database configuration to match 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',
      }
  5. Copy the email configuration file server/config/email.example.js to server/config/email.js

  6. You can use Mailtrap for an email sandbox environment. Set up a mailtrap.io account and copy the credentials provided for Nodemailer setup into the development section of the server/config/email.js file eg:

    development: {
        provider: "smtp.mailtrap.io",
        auth: {
          user: "xxxxxxxxxxxx",
          pass: "xxxxxxxxxxxx",
        },
        defaultFrom: process.env.FROM_EMAIL_ADDRESS,
      },
  7. Assuming the Postgres server is ready and above configuration credentials are correct, run the latest migrations (defined in server/migrations):

     yarn db:init
    
  8. Optionally, one can populate the database with dummy data (defined in server/db/seeds) by running:

     yarn db:seed
    
  9. If the above steps were successful, you can finally start the backend server

    yarn start
    

NOTE: You can safely ignore any Elasticsearch connection error.

Frontend setup

Frontend set up steps:

  1. Navigate into the frontend directory
    cd frontend/
    
  2. Install the frontend dependencies
    yarn
    
  3. Start the frontend server
    yarn start
    
  4. If the above steps were successful, navigate to your favorite browser and go to http://localhost:4200/ to see the running app.

NOTE: For easy Ember addons installation and project files generation using available blueprints, we highly recommend installing Ember CLI globally:

yarn install -g ember-cli

UI/UX Designs


Learn

Teach

Admin Dashboard

Contributing

License

This project is licensed under MIT. See the license file for details

Authors 🧙

Developers

UI/UX Designers

Contributors

Thanks goes to these wonderful people (emoji key):


Moses Okemwa

💻 🎨

Kiki

💻 🎨

mrlarso

💻

Jake Lee Kennedy

💻

Benson Muite

💻

Cliff Owino

💻

Mutugi

💻

Avic Ndugu

💻

BonfaceKilz

💻

Happy Coding ❤︎

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].