Giter Club home page Giter Club logo

ispj-revised's Introduction

未来 Mirai 🌸

Mirai logo
Mirai - 未来
(Additional Info)

Nanyang Polytechnic Year 2 ISPJ

Our web application is called Mirai, it is a privacy-driven social media platform. We intend to allow the users to have a choice in what data they should give and who they should allow to see.

In our social media platform, the web application is just for the clients to interact with the API. Users would be able to execute account-related tasks like creating an account. Additionally, users will be able to execute features that are essential to a social media platform such as sharing photos, posting comments, and sending messages to people. However, unlike conventional social media platforms, users will be able to configure their privacy preferences such as enabling self-destructing messages in our social media platform based on the default configurations.

Existing applications such as Telegram and WhatsApp have introduced their own set of privacy-driven features such as secret chat, self-destructing messages, and more. Hence, adding privacy driven into a social media platform would attract users that are concerned about their privacy to use our social media instead of the already available platforms like Instagram.

It was also hosted on https://miraisocial.live and archived in the Internet Archive.

Team Members:

  • Eden (Team Leader)
  • Calvin (Database Management & Data Integrity)
  • Jason (DevOps Lead)
  • Wei Ren (Privacy & Front End Functionalities)

Mirai Architecture

Mirai Architecture

Key Objectives

  1. Enhanced Data Security Features
  2. Privacy Features
  3. Security in Depth to reduce impact of attacks

Application Features

  1. Posting of Video or Photos
  2. 1:1 Chat System
  3. Privacy Controls and Policies
  4. Focuses on Data Security Policies and Best Practices
  5. IAM Console and User Managements

Running the Application

pip install -r requirements.txt

npm run build-css

npm run build-js

python ./src/app/main.py

  • Note: You will need a MongoDB instance running on your local machine and a Google Cloud Platform Project with the necessary configurations to run the application.

Tasks

Security Implementations

  • Role Based Access Controls (IAM)
    • Roles Used in Mirai Access based Controls
    • Role Based Access Control Configuration
  • Data Masking & Detection
    • Data Masking of sensitive information sent as text
  • Sensitive Data Detection from image uploads using Optical Character Recognition
  • Sensitive Data Detection of Passport using Machine Learning & Optical Character Recognition
  • Logging & Console (Monitoring)
  • Admin Pages
    • Admin Dashboard
    • Admin Ban System
    • Admin Report dashboard
    • User Lists
  • Root Account Pages & Functionalities
    • Root Account Dashboard
    • Admin Lists
    • Admin Lock Accounts System
    • Maintenance Mode
    • Admin Create Accounts
  • Error Middleware
    • Shows Locked Account Page
    • Shows Banned Account page
  • Separate Data Base Servers (Segregation of Network & Resiliency)
  • Admin Honeypot page
  • CloudFlare Configuration
  • Cloud Infrastructure & Deployment
  • GCP asynchronous capable Python codes
  • Login and Register
  • 1:1 Chat
  • Search (for users, comments, and posts)
  • Notifications
  • File uploading logic
  • HTML Embeds
  • Image content moderation
  • Storage of Secrets
  • Encryption of Data
  • Middlewares
    • Session
    • CSRF
  • Role-based Access Controls (RBAC) Logic
  • Automated Attacks Mitigations
    • Cloudflare
    • reCAPTCHA Enterprise
  • Data Export as per the user's request
  • URL Redirect Confirmation
  • Account Security
  • XSS Mitigation
  • Cloud Functions
  • Scheduled Cloud Functions
  • Chat Security
  • End-to-end Integrity
  • Data Masking & OCR Technologies
    • Using Google Vision API, Google Natural Language API, and regex
  • Pagination
  • Image Validations & Compression
  • File Validation & E2E Integrity Check
  • Static File Analysis
  • Database Configuration
  • Data backups configurations
  • Security Headers

Website Features

  • Payment Gateway
  • General Privacy Settings
  • Mirai+ Subscription
  • Follower System

Security Implementations

  • Privacy Setup wizard
  • Block/Report System

Tech Stack 📚

Frontend

Frontend Tech Stack

Backend

Backend Tech Stack

Others

Other Tech Used

SWE Methodologies used

  • CI/CD
  • DevOps

ispj-revised's People

Contributors

solaireis avatar

Stargazers

 avatar

Watchers

 avatar

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.