Coder Social home page Coder Social logo

subsonicgroupfinder / sgf-legacy Goto Github PK

View Code? Open in Web Editor NEW
6.0 3.0 2.0 9.29 MB

The repository for the Subsonic group finder web app. Written with Django Python and React. Uses MySQL

License: GNU General Public License v3.0

Python 56.18% HTML 4.62% CSS 3.72% JavaScript 35.48%
lfg backend django react opensource webapp webapplication opensource-apps frontend sgf

sgf-legacy's Introduction

THIS REPOSITORY HAS MOVED!

This repository is no longer in active development and will soon be made read only. FIND THE NEW REPO HERE:

https://github.com/SubsonicGroupFinder/SubsonicGroupFinder

SGF-web-app

The aim of this project is to produce a cross platform looking for group app or LFG for short. It is called Subsonic Group Finder and will be aimed at gamers so will have a number of functions that will allow users to find other players on their platform and game so that they can play together. We are currently working on a web app that will have feeds showing who is looking for a group and allow users to filter the feeds to find what they are looking for.

This project is a group project, though it was started by Subsonic-dev.

Acronyms

  • LFG- Looking for Group
  • 2FA- 2 factor authentication
  • SEO- Search Engine optimization
  • SGF- Subsonic Group Finder

Goals

  • Clean, sustainable, code that can be passed on to the next person
  • Team cooperation
  • Respecting everyone's abilities and ideas
  • Learning new things
  • Fun

Tech Stack

  • Python3 Django for the backend ** All apps in django are api's there are no templates
  • React, HTML, CSS, JS for the front end
  • Database - SQL/mySQL

Dev Environement

  • make sure that you have python3 installed
  • as well as react, node, and npm
  • the virtual environment for the backend is handled with pipenv
  • so do some version of sudo apt-get install pipenv
  • clone the repo
  • cd SGF-web-app
  • cd backend/
  • pipenv install
  • pipenv shell
  • cd webapp_api
  • python3 manage.py runserver
  • cd ../..
  • cd frontend
  • npm install
  • npm start

Backend:

After you activate the enviornment and get there server running here are the endpoints we have at the current moment:

Note: you may have to do some migrations stuff for django to get the things working

If things get weird don't be afraid to delete the migration in users and the sqlite db. *** This is fine for now but once we get rolling do not touch the migrations***

This should start both of the servers that you need to have going. The backend will be on localhost:8000 and the frontend will be on localhost:3000. The back is only an api.

This is just a start to get the environment set up, meaning that the only react files are for "App" App.js is the file that has been edited.

sgf-legacy's People

Contributors

aimanafzal avatar aimanafzal1 avatar dependabot[bot] avatar rr-phillips avatar subsonic-dev avatar zrmeier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sgf-legacy's Issues

Admin Functionality for moderating posts

an extra tab in the account section, or in the main menu?

Questions

  • what will the power of moderators be?
  • what will the posting process look like if we're having moderators?
  • how will moderators be chosen?
  • who will make those choices?
  • what recourse will there be for bad moderators?

Search Engine Optimazation

This will be easier to do from the beginning.

I'm not personally too familiar with these services, so we'll have to research then discuss and implement.

Allow the user to filter posts by tags we set

Allows the user to filter posts in the feed out of a set list that we define. Common tags like platform Xbox, Playstation, PC etc as well as a list of games eg Ark, No Man's sky etc.

Creating New User form bug

The form for creating a new user does not accept any input. The same issue was with login form but that is now fixed.

Ads implemented

This should only be considered if the cost of maintenance becomes a problem.

If we decide to place ads, I would like to all discuss which ads we will take and how will will implement

Front end things to do

  • profile page
  • get links working
  • footer
  • terms of service
  • privacy policy
  • add conditional to logged in users
  • login btn changes to logout
  • register btn goes away
  • profile link gets added (not displayed until someone is logged in)
  • my groups link gets added (not displayed until someone is logged in)

Users make an account

Users will be able to make an account with the standard information - email, username, password, confirmation password.

  • registration page
  • sign-in page
  • sign-out functionality
  • forgot password page
  • basic account page that shows email, username, and has a portion for changing password

Create A Logo

create a logo to be used in the header, as well as for a favicon

  • logo
  • favicon

User can create clans/groups

Any user will be able to make a clan/group.

Questions to answer:

  • will there be any requirements that will turn this on and off? like reputation, or time on platform or something?
  • what special privileges does being a group/clan leader give you vs. a group member?

Long term discussion: Privacy respecting monatisation and site upkeep (Topic for future consideration)

As of writing this there is no real need to look at this yet as we are still very far away from needing to implement things like anti ad blocking and therefore actual ads .

I don't think it is possible to have ads that respect privacy based on the whole concept of adverts meaning we would need to consider other ways of covering upkeep costs. Think of long term is donations so either paypal or truly embracing open source equivalents like Libre pay, having donator perks like special coloured titles or badges on user profiles etc etc.

This is not to be answered just now and is intended to be a long term discussion for when these topics come up.

create a design

create a design to base the ui/ux off of.

  • choose color
  • choose design
  • choose typography

Anti-ad blocker

If we have ads, we should check that people aren't ad-blocking

Account linkage

We should add a feature that allows integration for users to link certain gaming accounts like:

  • Xbox Live account
  • PSN accounts
  • Steam/COG
  • Nintendo?
  • Discord for easier integration with the webhooks

I am unfamiliar with if some of these platforms allow access to their login apis but I believe it should be possible. Adding for future consideration.

Posts should have tags

Questions

  • will users be able to make their own?
  • will these also have the profanity filter?
  • how many will be allowed?

LFG posts should have a profanity filter

aka no LFG posts are allowed to use profanity, and there will have to be a check for them before allowing the post to submit.

this HAS to be in the TOS

Questions:

  • will there be profanities allowed in the group/clan posts?
  • will repeated attempts to use profanities result in some sort of penalty? removal?

LFG posts

url name: getPosts
form/content of post should include:

front end form

  • platform
  • game
  • tags
  • body
  • title

back end form

  • platform
  • game
  • tags
  • body
  • title

Group/clan leaders can moderate their clans

This includes:

  • approving membership
  • moderating content
  • removing group/clan status from users
  • closing the group/clan

Questions to answer:

  • Will there be the ability for the owner of the group/clan to assign "moderator" status to other members
  • What can the members do if they have a problem?

Design a user profile section

WIP for what a users profile could look like.

Features:

user icon
username
social icons for linked accounts
account age
any badges

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.