Skip to content

Latest commit

 

History

History
64 lines (42 loc) · 2.67 KB

README.md

File metadata and controls

64 lines (42 loc) · 2.67 KB

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