Skip to content
This repository has been archived by the owner on Apr 15, 2024. It is now read-only.
/ Accord Public archive

A real-time privacy-first social media platform leveraging feature-rich direct messaging text channels. Built as part of the course project for COSC 310 at UBC.

Notifications You must be signed in to change notification settings

ColinLefter/Accord

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

COSC-310-Group-Project

M2 Update

Introduction

Accord is an engaging social platform where users can leverage our feature-rich instant messaging interface to chat and hang out with friends and communities. We are building a full-stack web application that uses React and TypeScript for the front-end and Python for the back-end, along with a MySQL database. In addition, we are using Next.js as the React framework for our front-end and Django as our Python-based web framework for our back-end.

Our front-end tech stack aligns with the increasing popularity of Next.js as the top choice for full-stack web development while leveraging the strict type-checking properties of TypeScript that improve our development workflow by simplifying the process of test-driven development. Our choice to use Django for our back-end enables us to develop the encryption-oriented peer-to-peer direct messaging feature that is central to our application. Furthermore, it allows us to store our site-wide database on the same server.

High-level description

Our platform will support peer-to-peer direct messaging as well as group conversations.

Discussions take place through group chats or discussion servers dedicated to context-driven conversations via roles and threads. We believe everyone has the right to privacy, and offering end-to-end encryption across all our messaging services allows us to accomplish our ambition. Users will have access to a range of privacy controls that allow for flexible user interactions—from specifying the duration of message history to deleting all chat history after every discussion through private mode, user-driven data privacy is our priority.

Communities are central to our platform, and we intend to put users in control of how they engage with communities through server roles. Owners of discussion servers can assign roles to participating users to drive user engagement. Users design these servers with purpose by organizing discussions through text channels that act as individual conversation threads.

Requirements:

  1. Allow users to create an account on the platform.
  2. Allow the user to log in to the platform with an existing account.
  3. Allow the user to log out of their account.
  4. Allow the user to edit their account (username, password, email, etc.).
  5. Allow the user to send text messages.
  6. Allow user to receive text messages.
  7. Allow users to search for other users on the platform.
  8. Allow the user to add another user as a friend.
  9. Allow users to remove another user from their friend list.
  10. Allow the user to create a group chat.
  11. Allow group chat owners to manage a group chat.
  12. Allow server owners to create a text channel.
  13. Allow server owners to edit text channels.
  14. Allow users to add other users to the server.
  15. Allow server owners to remove a user from a server.
  16. Allow server owners to delete a message from a server.
  17. Allow users to access servers.

About

A real-time privacy-first social media platform leveraging feature-rich direct messaging text channels. Built as part of the course project for COSC 310 at UBC.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published