Skip to content

A forum that allows developers to easily search and share diverse learning resources.

Notifications You must be signed in to change notification settings

ben12mwaniki/skill-up

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

skillUp

Introduction

This application is a platform for developers to create and share learning resources (video, book, course, blog, podcast, forum etc). The resources are shared as a hyperlink and additional details can be added when the resource is created to help with querying. No account is needed to search resources. However, an account is necessary to be able to create, save or rate a resource. The web app can be found here.

Prerequisites

Set-up and configuration

  • Fork repository
  • Create a virtual environment while in project root py -m venv .venv or python3 -m venv .venv

Important: Always a good idea to work in a virtual environment to not mess up with other python installations or dependencies

  • Activate the virtual environment

    OS How
    Windows .venv\Scripts\activate
    Linux/Mac source .venv/bin/activate

Use deactivate to deactivate the virtual environment anytime

  • While in root, install dependencies in requirements.txt by running pip install -r requirements.txt

  • Navigate to skillup cd skillup

  • Run the server using python manage.py runserver

If python doesn't work, try python3

Configuring database and environment variables

A database must be configured for the server to be run successfully. This project is set to use a .env file to connect to databases. In fact 2 databases are used: MongoDB for resources, Postgres for user authentication and profile models. Your .env file should have these variables:

Variable Value Purpose
SECRET_KEY a random string with >= 50 characters Ensure integrity and authenticity of signed data e.g. session cookies
MONGO_URI MongoDB connection information Connecting with MongoDB which stores resources collection
POSTGRES_URI Postgres connection information Connecting with Postgres database which stores user and profile data

Note: You can use different databases/connection variables i.e. HOST, USER, DATABASE etc. However, you have to modify the project. Specifically, navigate to settings.py and views.py and change places with os.getenv(<str>) accordingly.

Project Status

Some features to be added:

  • Authentication with socials
  • Add machine learning for making recommendations based on user activity

Known Issues

  • Dark mode not retained when navigating to another page

Feel free to report other issues to ben12mwaniki@proton.me

About

A forum that allows developers to easily search and share diverse learning resources.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published