Journeys is a django based community-focused website that allows users to bookmark URLs (through chrome extension) and share their journeys through timelines.

Overview

SWC Journeys API

A community website which allows users to form communities to learn and share new skills. It allows users to save any blog read online and share among communities and recommends related content to users. A timeline feature in which users can keep track of their journey of the project or skill they started and share them with others.

How you can contribute:

You can join our discussions and keep up with us on Discord channel #swc-journeys!

1.Using the issue tracker.

2.Claim issue.

3.Changing the code-base.

4.Submit pull request.

5.Suggest design improvements for our apps and create issues if found.

6.Review our projects’ pull requests.

7.Help others contribute by answering their questions and participate on GitHub.

Guidance on how to contribute

USING THE ISSUE TRACKER:

Use the issue tracker to suggest feature requests, report bugs, and ask questions. This is also a great way to connect with the developers of the project as well as others who are interested in this solution. Use the issue tracker to find ways to contribute. Find a bug or a feature, mention in the issue that you will take on that effort, then follow the Changing the code-base guidance below.

Click here to learn more

CLAIM ISSUE:

Claim the issue by commenting. If someone else has claimed it, ask if they've opened a pull request already and if they're stuck -- maybe you can help them solve a problem or move it along!. Unless the issue is marked as reserved for someone, you can just say "I'd like to try this!" and then you've claimed it - no need to wait for someone to assign it to you. Just be sure you link your pull request (PR) to this issue so we can see where your solution is.

CHANGING CODE BASE:

You should fork this repository, make changes in your own fork. All new code should have associated unit tests that validate implemented features and the presence or lack of defects.

SUBMIT PULL REQUEST:

Submit a pull request after making changes. Check if all tasks are completed under the issue. Your changes will be reviewed and decided if it needs to be merged in the main branch.

PROJECT BRIEF:

SAVE URL: Users can save any blog by providing the URL. A thumbnail feature is implemented which fetches the title name, image, short description, date and time and related tags using Beautiful Soup.

image

image

TAGS: For every blog that the user saves, we have provided a list of relatable tags. The tags are found from the blogs using Open Calais API which uses Natural Language processing to search relatable tags from the blog and the tag feature is implemented using Django’s Taggable Manager.

DISCOVER SECTION: In the discover section, the users can discover new content or blogs based on the ones that they have saved. Based on the tags that the users have saved, it uses Google’s News API to suggest new content to the user.

image

image

FAVOURITES SECTION: The users can save the blogs that they find more important than the rest or the ones that they frequently use in the favourites section.

image

TIMELINE FEATURE: A timeline feature in which users can keep track of their journey of the project or skill they started and share them with others. Whenever a developer starts a new project, he/she searches for resources to study from and comes across many blogs. They can save the blogs and can also add them to the timeline to keep track of how and in what order the particular resources were accessed by the user. These timelines can also be shared among various communities such that other users can also get to know about these resources and avail advantage from them.

image

image

COMMUNITIES: The users can form communities of their own or get added to existing communities so that similar minds come together and interact with each other and help each other by learning and sharing. Post and comment features have been implemented. There are features of chatting and upvote and asking doubts within communities. Timelines can also be shared within communities. Multiple communities can be joined for ex. There can be a community of React, ML, AI, Development etc.

CHROME EXTENSION AND CONTEXT MENU: The website also has a chrome extension built using JavaScript using which the blogs are saved. Also, the chrome’s context menu is updated so that blog’s can also be saved using the right click option.

image

image

REST API: We also have a Rest API for our website created using Django Rest Framework. We used Swagger for describing RESTful APIs expressed using JSON, documentation, code generation, and test-case generation. This API was also used in making the chrome extension.

image

image

image

image

SEARCH: Bookmarks can be searched from their title name.

PAGINATION: Pagination is implemented using DRF.

Installation steps

  1. Ensure you have python3 installed

  2. Clone the repository

  3. create a virtual environment using virtualenv venv

  4. Activate the virtual environment by running source venv/bin/activate

  • On Windows use source venv\Scripts\activate
  1. Install the dependencies using pip install -r requirements.txt

  2. Migrate existing db tables by running python manage.py migrate

  3. Run the django development server using python manage.py runserver

Comments
  • Display some text for bookmark and timeline pages with no items

    Display some text for bookmark and timeline pages with no items

    Hi, this is a first-timers-only issue. This means we've worked to make it more legible to folks who either haven't contributed to our codebase before, or even folks who haven't contributed to open source before.

    If that's you, we're interested in helping you take the first step and can answer questions and help you out as you do. Note that we're especially interested in contributions from people from groups underrepresented in free and open source software!

    We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you 💝

    If you have contributed before, consider leaving this one for someone new Thanks!

    🤔 What you will need to know.

    Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you through the process.

    📋 Step by Step

    • [X] 🙋 Claim this issue: Claim the issue by commenting. If someone else has claimed it, ask if they've opened a pull request already and if they're stuck -- maybe you can help them solve a problem or move it along!
    💡 Learn how to claim 🙋

    Claiming an issue

    Unless the issue is marked as reserved for someone, you can just say "I'd like to try this!" and then you've claimed it - no need to wait for someone to assign it to you. Just be sure you link your pull request (PR) to this issue so we can see where your solution is.

    And open one early if possible - even before you've completed it with additional commits - and others can help you figure out any issues you may face.

    • Currently the bookmark and timeline pages do not display anything when they don't have any items. We would like to display something like "Create your first bookmark" on the bookmarks page and "Create your first timeline" on the timeline page. image

    • [X] 📝 Update the following file so that it displays "Create your first bookmark" when there are 0 bookmarks for this user.

    • [X] 📝 Update the following file so that it displays "Create your first timeline" when there are 0 timelines for this user.

    • [X] 💾 Commit your changes

    • [X] 🔀 Start a Pull Request. There are two ways how you can start a pull request:

    1. If you are familiar with the terminal or would like to learn it, here is a great tutorial on how to send a pull request using the terminal.

    2. You can also edit files directly in your browser and open a pull request from there.

    • [X] 🏁 Done Ask in comments for a review :)

    Please keep us updated

    💬⏰ - We encourage contributors to be respectful to the community and provide an update within a week of claiming a first-timers-only issue. We're happy to keep it assigned to you as long as you need if you update us with a request for more time or help, but if we don't see any activity a week after you claim it we may reassign it to give someone else a chance. Thank you in advance!

    If this happens to you, don't sweat it! Grab another open issue.

    Is someone else already working on this?

    🔗- We encourage contributors to link to the original issue in their pull request so all users can easily see if someone's already started on it.

    👥- If someone seems stuck, offer them some help! Otherwise, [take a look at some other issues you can help with] Thanks!

    🤔❓ Questions?

    Leave a comment below!

    first-timers-only 
    opened by SWCIITGWeb 8
  • Add tooltip on

    Add tooltip on "add new timeline" button and "add new bookmark" button

    Hi, this is a first-timers-only issue. This means we've worked to make it more legible to folks who either haven't contributed to our codebase before, or even folks who haven't contributed to open source before.

    If that's you, we're interested in helping you take the first step and can answer questions and help you out as you do. Note that we're especially interested in contributions from people from groups underrepresented in free and open source software!

    We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you 💝

    If you have contributed before, consider leaving this one for someone new Thanks!

    🤔 What you will need to know.

    Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you through the process.

    📋 Step by Step

    • [X] 🙋 Claim this issue: Claim the issue by commenting. If someone else has claimed it, ask if they've opened a pull request already and if they're stuck -- maybe you can help them solve a problem or move it along!
    💡 Learn how to claim 🙋

    Claiming an issue

    Unless the issue is marked as reserved for someone, you can just say "I'd like to try this!" and then you've claimed it - no need to wait for someone to assign it to you. Just be sure you link your pull request (PR) to this issue so we can see where your solution is.

    And open one early if possible - even before you've completed it with additional commits - and others can help you figure out any issues you may face.

    • Currently there is no tooltip to indicate to first time users what each of the two buttons at the top do.

    image

    • [X] 📝 Update this file and make the following changes.

    • [X] 📝Add a tooltip "Add new bookmark" to the green encircled button.

    • [X] 📝 Add a tooltip "Add new timeline" to the red encircled button.

    • [X] 💾 Commit your changes

    • [X] 🔀 Start a Pull Request. There are two ways how you can start a pull request:

    1. If you are familiar with the terminal or would like to learn it, here is a great tutorial on how to send a pull request using the terminal.

    2. You can also edit files directly in your browser and open a pull request from there.

    • [X] 🏁 Done Ask in comments for a review :)

    Please keep us updated

    💬⏰ - We encourage contributors to be respectful to the community and provide an update within a week of claiming a first-timers-only issue. We're happy to keep it assigned to you as long as you need if you update us with a request for more time or help, but if we don't see any activity a week after you claim it we may reassign it to give someone else a chance. Thank you in advance!

    If this happens to you, don't sweat it! Grab another open issue.

    Is someone else already working on this?

    🔗- We encourage contributors to link to the original issue in their pull request so all users can easily see if someone's already started on it.

    👥- If someone seems stuck, offer them some help! Otherwise, [take a look at some other issues you can help with] Thanks!

    🤔❓ Questions?

    Leave a comment below!

    first-timers-only 
    opened by SWCIITGWeb 7
  • Modify search filter so that it searches both title and description of a bookmark

    Modify search filter so that it searches both title and description of a bookmark

    Hi, this is a first-timers-only issue. This means we've worked to make it more legible to folks who either haven't contributed to our codebase before, or even folks who haven't contributed to open source before.

    If that's you, we're interested in helping you take the first step and can answer questions and help you out as you do. Note that we're especially interested in contributions from people from groups underrepresented in free and open source software!

    We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you 💝

    If you have contributed before, consider leaving this one for someone new Thanks!

    🤔 What you will need to know.

    Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you through the process.

    📋 Step by Step

    • [X] 🙋 Claim this issue: Claim the issue by commenting. If someone else has claimed it, ask if they've opened a pull request already and if they're stuck -- maybe you can help them solve a problem or move it along!
    💡 Learn how to claim 🙋

    Claiming an issue

    Unless the issue is marked as reserved for someone, you can just say "I'd like to try this!" and then you've claimed it - no need to wait for someone to assign it to you. Just be sure you link your pull request (PR) to this issue so we can see where your solution is.

    And open one early if possible - even before you've completed it with additional commits - and others can help you figure out any issues you may face.

    • Currently the API only searches the title of bookmarks, we would like to be able to search its description as well

    • [X] 📝 Update the following line so that it also includes description in search list https://github.com/swciitg/swc-journeys/blob/82bb1c31b33156358cf13c3a9a63b3c1c70bc82c/bookmarksection/views.py#L26

    • [X] 💾 Commit your changes

    • [X] 🔀 Start a Pull Request. There are two ways how you can start a pull request:

    1. If you are familiar with the terminal or would like to learn it, here is a great tutorial on how to send a pull request using the terminal.

    2. You can also edit files directly in your browser and open a pull request from there.

    • [X] 🏁 Done Ask in comments for a review :)

    Please keep us updated

    💬⏰ - We encourage contributors to be respectful to the community and provide an update within a week of claiming a first-timers-only issue. We're happy to keep it assigned to you as long as you need if you update us with a request for more time or help, but if we don't see any activity a week after you claim it we may reassign it to give someone else a chance. Thank you in advance!

    If this happens to you, don't sweat it! Grab another open issue.

    Is someone else already working on this?

    🔗- We encourage contributors to link to the original issue in their pull request so all users can easily see if someone's already started on it.

    👥- If someone seems stuck, offer them some help! Otherwise, [take a look at some other issues you can help with] Thanks!

    🤔❓ Questions?

    Leave a comment below!

    first-timers-only 
    opened by SWCIITGWeb 2
  • migrate to v3

    migrate to v3

    The basic setup for migration to v3 is completed in this PR. Create issues to solve the minor errors. Please check the issue section regularly to make contributions. Cheers!

    opened by coolgoel 0
  • [Chrome Extension]: Support for manifest v2 is deprecated

    [Chrome Extension]: Support for manifest v2 is deprecated

    Branch: chrome-extension Chrome has officially deprecated support for v2 of its extensions, as a result, we cannot publish the extension on the chrome web store. Kindly upgrade the version to v3

    bug enhancement 
    opened by SWCIITGWeb 1
  • Delete Timelines Button not working

    Delete Timelines Button not working

    Description The delete timeline button isn't working

    To Reproduce Steps to reproduce the behavior:

    1. Go to timelines page
    2. Click on any timeline card and open it
    3. Scroll down to the bottom
    4. Click on "Delete Timeline" button

    Expected behavior We expect the timeline to be deleted and the page be reloaded once this button is clicked.

    Screenshots image

    bug 
    opened by SWCIITGWeb 0
  • Display a

    Display a "No items found" message on the search page in case of 0 matched items

    Hi, this is a first-timers-only issue. This means we've worked to make it more legible to folks who either haven't contributed to our codebase before, or even folks who haven't contributed to open source before.

    If that's you, we're interested in helping you take the first step and can answer questions and help you out as you do. Note that we're especially interested in contributions from people from groups underrepresented in free and open source software!

    We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you 💝

    If you have contributed before, consider leaving this one for someone new Thanks!

    🤔 What you will need to know.

    Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you through the process.

    📋 Step by Step

    • [ ] 🙋 Claim this issue: Claim the issue by commenting. If someone else has claimed it, ask if they've opened a pull request already and if they're stuck -- maybe you can help them solve a problem or move it along!
    💡 Learn how to claim 🙋

    Claiming an issue

    Unless the issue is marked as reserved for someone, you can just say "I'd like to try this!" and then you've claimed it - no need to wait for someone to assign it to you. Just be sure you link your pull request (PR) to this issue so we can see where your solution is.

    And open one early if possible - even before you've completed it with additional commits - and others can help you figure out any issues you may face.

    • Currently the search page displays nothing when no items are returned for the given search query. We would like to tell the user that no results were found image

    • [ ] 📝 Update the following file so that it displays "No items found" when there are no items returned for the given search query

    • [ ] 💾 Commit your changes

    • [ ] 🔀 Start a Pull Request. There are two ways how you can start a pull request:

    1. If you are familiar with the terminal or would like to learn it, here is a great tutorial on how to send a pull request using the terminal.

    2. You can also edit files directly in your browser and open a pull request from there.

    • [ ] 🏁 Done Ask in comments for a review :)

    Please keep us updated

    💬⏰ - We encourage contributors to be respectful to the community and provide an update within a week of claiming a first-timers-only issue. We're happy to keep it assigned to you as long as you need if you update us with a request for more time or help, but if we don't see any activity a week after you claim it we may reassign it to give someone else a chance. Thank you in advance!

    If this happens to you, don't sweat it! Grab another open issue.

    Is someone else already working on this?

    🔗- We encourage contributors to link to the original issue in their pull request so all users can easily see if someone's already started on it.

    👥- If someone seems stuck, offer them some help! Otherwise, [take a look at some other issues you can help with] Thanks!

    🤔❓ Questions?

    Leave a comment below!

    first-timers-only 
    opened by SWCIITGWeb 14
  • Include timelines as well in search option

    Include timelines as well in search option

    TASK

    • Currently the search bar only searches for bookmarks. image

    • We want it to search for both timelines and bookmarks which match the search query i.e. upon searching, the search result page should have two sections/tabs, one containing the searched bookmarks and the other containing the searched timelines.

    enhancement 
    opened by SWCIITGWeb 0
  • Add email verification for signing up through email

    Add email verification for signing up through email

    TASK

    • Currently email verification is not being used when a user registers through their email.
    • We want users to be sent a verification mail once they register using their email.
    • Refer to this playlist by Crycetruly
    enhancement 
    opened by SWCIITGWeb 0
Owner
Students' Web Committee
We are group of developers, designers, and managers who work round the clock to build websites, apps and products.
Students' Web Committee
chrome bookmark extension from keevol.com

Intro to kBookmarks kBookmarks is a Chrome bookmark extension from KEEVOL The critical philosophy of this extension is "For long-tail less-used bookma

王福强 18 Dec 5, 2022
Uptime monitoring RESTful API server that allows authenticated users to monitor URLs, and get detailed uptime reports about their availability, average response time, and total uptime/downtime.

Uptime Monitoring API Uptime monitoring RESTful API server that allows authenticated users to monitor URLs, and get detailed uptime reports about thei

Mohamed Magdi 2 Jun 14, 2022
Memory lane is a website where you can create visual timelines of moments in time.

Memory Lane Moments in Time, All in One Place Description Memory Lane is a web app where users can create visually appealing, minimalistic timelines e

joey 3 Jun 13, 2022
A community website built by the community for the community (Hacktoberfest 2022) :tada:

Hacktoberfest 2022 ?? : Built by the community for the community! This repository is an initiative which aims to help beginners kickstart their open-s

Your First Open Source Project 5 Oct 12, 2022
This React-Based WebPage allows the client/user system to create their own blog, where users can publish their own opinions.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Gauri Bhand 4 Jul 28, 2022
GameLand is an online gaming web application that allows users to view different kind of games available and share their views on each game.

GameLand is an online gaming web application that allows users to view different kind of games available and share their views on each game.Users can like and make reservations to play online. Built with HTML/CSS , JAVASCRIPT,API.

tarike bouari 6 Sep 9, 2022
A dockerized uptime monitoring RESTful API server that allows authenticated users to monitor URLs

A dockerized uptime monitoring RESTful API server that allows authenticated users to monitor URLs, and get detailed uptime reports about their availability, average response time, and total uptime/downtime.

Anas Hamed 2 Oct 7, 2022
This project is a To-do list app which users can store and edit their Todo Tasks. Users can also change the order of their todo

Project This project is about a todo app bundling using webpack Additional description about the project and its features. Built With HTML CSS Javascr

Richmond Adu-Kyere 2 Jun 17, 2022
NFTKastle is an NFT marketplace where users can mint their pictures as NFTs, list their NFTs for sale, and buy NFTs from other users.

NFTKastle NFTKastle is an NFT marketplace where users can mint their pictures as NFTs, list their NFTs for sale, and buy NFTs from other users. NFTKas

Paschal 2 Oct 31, 2022
Updog is an open-source social media webapp intended to allow everyday people to share their thoughts in a welcoming community.

SE701-Updog Updog is an open-source social media webapp intended to allow everyday people to share their thoughts in a welcoming community. This proje

SE 701 Team 2 UoA 14 Apr 18, 2022
A simple To Do List application that allows users to save, edit, mark completed, and delete their to-dos, and save their list when application is closed. Build with JavaScript.

To Do List A simple To Do List online application that allows users to save, and manipulate their to-dos, and save their list when application is clos

Mahmoud Rizk 10 Dec 20, 2022
A health-focused app for users to be able to track workouts and nutritional data with a social media component to inspire friendly competition among the users.

A health-focused app for users to be able to track workouts and nutritional data with a social media component to inspire friendly competition among the users.

Jon Jackson 3 Aug 26, 2022
A single-page application that allows users to keep track of their books. Users can add the book details (book title and author) and also, and the books can also be removed. Built with JavaScript, HTML, and CSS

Project Name Awesome book with ES6 Description the project. This is a single page application that allows users to keep track of their books. Users ca

Micheal Oguntayo 4 Oct 13, 2022
Employee Management System is a web application developed using Django(Backend) which manages the record of employees, their salary, attendance. publish public notices, assign works to employees, make requests to employees.

Employee_Management_System Employee Management System is a web application developed using Django(Backend) which manages the record of employees, thei

Preet Nandasana 7 Dec 16, 2022
This is the backend of Wherechat, which is a chat application that allows users to find and meet each other through their location on the map.

wherechat-backend About the project This is the backend of Wherechat, which is a chat application that allows users to find and meet each other throug

Isaac Ndala 5 Nov 23, 2022
A full-stack social media application where users can post and share their coding projects, adding friends, and joining the discussion in threaded comments on project posts.

CodeFlow Description CodeFlow is a social media application where users can post and share their coding projects with others. By logging in or signing

Chris Nohilly 4 Dec 8, 2022
See a banned user's profile, their friends, their favorite games, their followers etc.

Roblox-Banned-User-Viewer AKA BanView See a banned user's profile, their friends, their favorite games, their followers etc. Ever wondered how to view

SCR1PP3D 4 Nov 18, 2022