Skip to content

ma-za-kpe/linky_project

Repository files navigation

LINKY - Revolutionizing Knowledge Management

ABOUT

  • Welcome to Linky, a revolutionary tool designed to streamline the research and education workflow for educators, researchers, and students. Our platform recognizes the diverse needs of knowledge workers and offers a comprehensive solution to address common challenges such as information overload, fragmented workflows, and the absence of effective collaboration tools. With linky, users have the power to group their research materials and resources into organized projects, facilitating efficient management and collaboration within their academic and research endeavors.

KEY FEATURES

  • Add Links: Easily add URLs and links to projects, allowing users to collect and organize relevant research materials, articles, papers, and resources.
  • View a list of projects created by other users
  • View a private list of projects
  • Delete project
  • Delete link
  • More features can be found here: Docs

GOAL

  • The project aims to be a game-changer for startup founders by providing a comprehensive and practical guide on how to rapidly develop a robust Minimum Viable Product (MVP) in less than a week using Django. By leveraging the power of Django and a carefully curated selection of cutting-edge dependencies, the project empowers startup founders to quickly bootstrap their MVPs while adhering to the Lean Startup methodology.

DEPLOYMENT

ENTITIES

  • For a complete list of features, please refer to the documentation Swagger

Users:

  • username: The username of the user.
  • email: _The email address of the user. _
  • password: The hashed password of the user.
  • full_name: The full name of the user.
  • bio: A short biography or description provided by the user.
  • profile_picture: The profile picture of the user.
  • registration_date: The date when the user registered on the platform.
  • role: The role of the user (e.g., professor, researcher, student).
  • institution: The educational institution or organization associated with the user.

Links (URLs):

  • url: The URL of the link.
  • title: The title or name associated with the link.
  • description: A brief description or summary of the content of the link.
  • added_by: The user who added the link to a project.
  • date_added: The date when the link was added to the project.
  • tags: Optional tags or labels to categorize the link (e.g., research, reference, article).

Projects:

  • title: The title or name of the project.
  • description: A description of the project, outlining its purpose and goals.
  • created_by: The user who created the project.
  • date_created: The date when the project was created.
  • last_modified: The date when the project was last modified.
  • visibility: The visibility settings of the project (e.g., public, private, shared).
  • collaborators: A list of users who have access to the project and can collaborate on it.
  • links: A collection of links associated with the project.

LIBRARIES

  1. Django REST framework
  2. django-cors-headers
  3. django-rest-auth
  4. django-allauth
  5. PyYAML
  6. uritemplate
  7. Django REST Swagger
  8. More ...

INSTALLATION (MAC OS)

  1. clone this repo and navigate to the linky_project folder
  2. Set Up Virtual Environment: python3 -m venv linky-env
  3. Activate Virtual Environment: source linky-env/bin/activate

INSTALLATION (WINDOWS OS)

  1. clone this repo and navigate to the linky_project folder
  2. Set Up Virtual Environment: python -m venv linky-env
  3. Activate Virtual Environment: linky-env\Scripts\activate

CONTINUE ...

  1. Install all dependecies: pip install -r requirements.txt
  2. Create .env file in the root folder.
  3. Perform Initial Database Migrations: python3 manage.py migrate
  4. (Optional) Create Superuser: python3 manage.py createsuperuser
  5. Run Development Server: python3 manage.py runserver

COMMANDS USED

  • python3 -m venv linky-env
  • source linky-env/bin/activate
  • python -m pip install Django
  • django-admin startproject clinky-apiore .
  • python3 manage.py migrate
  • python3 manage.py runserver
  • python3 manage.py makemigrations posts
  • python3 manage.py migrate
  • python3 manage.py startapp posts
  • Add these dependencies to your requirements.txt file:pip freeze > requirements.txt

BEST PRACTICES

CONTRIBUTION

TUTORIAL