GithubHelp home page GithubHelp logo

cssainformationdepartment / mycssa Goto Github PK

View Code? Open in Web Editor NEW
21.0 5.0 3.0 83.36 MB

Online services platform for Chinese Students and Scholars Association @ Unimelb

Home Page: https://cssaunimelb.com

License: GNU General Public License v3.0

Dockerfile 0.05% Python 25.45% CSS 16.23% JavaScript 7.72% HTML 49.79% PHP 0.05% Shell 0.15% TypeScript 0.54% Less 0.02%
cssa django django-rest-framework python javascript alice

mycssa's Introduction

myCSSA

This is the online services platform for Chinese Students and Scholars Association @ Unimelb
Proundly developed and supported by the Department of Information Technology, CSSAUnimelb

Prerequisites

You MUST have these packages/tools installed on your local machine before playing with this project

  1. Docker-CE (Community Edition)
  2. Python == 3.7.2
  3. Lastest stable version of Pipenv (Optional but recommended)
  4. PostgesSQL Server == 10.6 (Optional for who wants to test code outside the Docker container)

Additional Note for Windows Users

Currently the ALICE bootloader (alice-bootloader.sh) is added as an entry point for myCSSA container. Due to the difference in EOL between Windows and UNIX-based systems, the bootloader could be not executed properly in Windows environment. If you see the error " exec user process caused 'no such file or directory'", please use Notepad++ or something equivlent to modify the EOL of alice-bootloader.sh to UNIX style.

Quick Start Guide

  1. Clone this repo to your local machine by running:
git clone https://github.com/ShepherdMOZ/myCSSA.git
  1. Use Terminal in Mac/Linux/Unix or PowerShell in Windows
  2. Navigate to the repo folder
  3. Run following command:
cd CSSANet
docker-compose up --build 
  1. Access the page at: http://localhost:8000
  2. To access Admin Pages, use this account:
    email: [email protected]
    password: test1234

Note for Configuring pylint for the project

Since CSSANet is set to be running in a Docker Containter, the file structures is a bit different from an usual pipenv configuration. In some cases, especially when you use IDE with IntelliSense technology (e.g. VSCode), this could cause problems in importing project's app. Please following the steps below to resolve the issue:

  1. Under the directory 'your/path/to/myCSSA/CSSANet/code', run:
pipenv install -r ../requirements.txt --python=3.7.2
  1. In VSCode, open the 'code' folder as a new workspace, then select your venv python as the interpreter and enable pylint.

To be a Contributor

Welcome to join us by contacting: [email protected]

Major Contributor

Project Manager and Lead Engineer: Le (Josh). Lu ([email protected])

UI / UX Designer and Lead Front-end Developer : Mengyu (Caitlin) Jiang ([email protected])

Communication System Developer: Shenhai (Howie). Chen ([email protected])

Content Managament System Developer: Maoting (Brook). Zuo

mycssa's People

Contributors

abeishiwo avatar alserial avatar caitlinj avatar czx20010217 avatar dependabot[bot] avatar doncd-p avatar howiehai avatar jackson-hu1279 avatar jasonsumy avatar jiayao3 avatar kexincchen avatar l-lzyyyy avatar liu233w avatar lulu355 avatar lulu54368 avatar mialovewatermelon avatar motianyi avatar shepherdmoz avatar shouyin avatar tianzhipengfei avatar whilehole avatar xuanjun-lee avatar yiyang-h avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mycssa's Issues

Vulnerability submission

Website background file submission file hosting server vulnerability

Hazard level: low risk

Coverage: This vulnerability can be invoked by all registered users

Vulnerability details
Personal information - avatar upload - upload any picture capture package:
image
modify the cropped_b64 parameter to data: image / arbitrary file type; BASE64, file content encoding base64 upload can successfully pass the browser - view the source code to get the file after uploading path

Repair plan

  1. Verify data:image/jpeg in cropped_b64

Development database update script

Story Point: 3

Context

The developer database should be set up and sync data from production environment on 12:00 am Sunday each week. This database will eliminate the heavy-lifting on creating dummy data to test new function during the development stage.

Definition of Done

  • Create a developer database on CSSA-Dev-Server

  • Data will be automatically synced from Prod Server to Dev server every Sunday at 12:00 am

  • Sensitive data will be masked with fake data

pipenv issus

When I 'cd' to the target folder, I used the command below:
" pipenv install -r ../requirements.txt --python=x.x.x ",
but there is an issue which is <can't find the "requirements.txt">
thus, I update the command, "pipenv install -r requirements.txt --python=x.x.x ", which works for me.

Ball Promotion

Static Promotion Page for Ball.

Could make use of frame sample on the internet.

  • Good Visual Effect

Rebuild the new user sign up page

__Story point: __

Context

The current user sign up page is still using Django template rendering, It is slow and lack of interactive features support for mobile. This need to be re-written in React.js.

Definition of Done

  • New multiple pages login page collecting the same amount of information as before

  • An optional step to collect emergency contact

  • New after registration complete page

Committee discount with cooperative merchant

Story point: 5

Context

We changed our membership card into a discount card and students no longer need to join CSSA to gain the discount. Now students can purchase a discount card for $5 and enjoying all the discount with our cooperative merchants. They can also choose to bind their card with their CSSA account, thus once they lose their card, they can reissue a card for free.

Definition of Done

  • Build a new page of applying for a discount card.

  • Add an optional feature "Binding My Card" in the personal profile page

  • Create a linkage on the current "Discount merchants" page.
    If the user doesn't have a card, they can apply one (link to the applying page)
    If the user already have a card, they can choose to bind it with its CSSA account (link to the login page if the user haven't login, otherwise, link to its personal profile page)

Change membership card to discount card

Context:

Free to join in membership and paying for a discount card offers multiple benefits.

Definition of done:

  • Modify the words “membership card” to “discount card”

RESTful API for job pages [No Auth]

Story Point: 10

Context

The Job APIs is used for the public site to retrieve information related to all published jobs on the website

Definition of Done

  • Return a JSON list of job_id, job_title, organisation_name, due_date, and link to Detaiil Page, including pagination

  • A job detail page API, containing all the data details for the page.

Event RESTful APIs for information deliver [No Auth]

Story Point: 3

Context

The Event APIs is used for the public site to retrieve information related to the CSSA events.

Definition of Done

  • Return a JSON list of event_id, event_header, start_date, avaliablity_status and link to Detaiil Page, including pagination

  • A event detail page API, containing all the data details for the page.

Emergency Contact Service [1/3] - Front-end Form

Story Point: 5

Context

An opt-in form page needs to be designed and added to the membership management and user login page. The form should be able to collect users' real [First Name] and [Last Name] in English, [Australia Telephone Number] and [Student ID]. The user can decide how many emergency contacts he or she wants to lodge in. Each contact entry should contain [First Name], [Last Name], [Relationship], [Full Address (optional)], [Contact Number] including the country calling codes.

Definition of Done

  • The form is created aligning to the given context

  • The API is connected and functional as demand

The problem of database connection

IMG_7368

The solution of the issue above which is re-install docker.

Mac user could install by Homebrew, the command is ' brew cask install docker '

Emergency Contact Service [2/3] - Internal System Page

Story Point: 5

Context

A new internal section should be added to provide functions for finding contact target, either the emergency contacts for a person who is under searched, or using contact to find the person.

Definition of Done

  • A search page that can allows using name or contact numbers to find the full emergency contact information for either the contact itself or the person who sign-in the contact earlier.

  • A table view contains two session. The first section, at the top, is the information related to the person who provides the emergency contact. The second section, at the bottom, is a list for all available emergency contact.

  • If the provider is also a registered member, more related information should be presented at the first section mentioned above.

  • The API is connected and functional as demand

Update interface: Photo Contest

Story Points: 3

Context

To show result of 2019 Sem1 Photo Contest.

Definition of Done

  • Show the winning photos and the winners' names.

  • Show message: 2019 Sem1 Photo Contest has ended.

  • Display description for the winning photos.

Application Update: Upload photos

Story Points: __

Context

This is an update for our event application system. Currently, applicant can only attach text to the flex form, we want to add a new type which allows the applicant attach a picture for their application.

Definition of Done

  • Show attach picture option on application page

  • Link their uploaded photos to our database system

Listing previous committees

Story Points: 6

Context

To show lists of previous committees of Council Board.

Definition of Done

  • Show the photos and the name of all chairmen.

  • Show message: The list for all Council Board Committees.

  • Display relevant information for the chairmen.

Recruitment Site Issue

Complete the page of CSSA committee recruitment Page.

The recruitment page is built for publishing information of available committee position at the beginning of each semester.

  • Be able to add recruitment info.

'Forgot password' functionality for registered users

Context

On the login page, provide a functionality that registered users can reset their passwords when they forget their passwords.

Definition of Done

  • A link or button on the login page

  • Collect user's relative details for looking up the specific account: registered email

  • An Email that includes a reset link is generated and sent to the collected email

  • When new password is submitted by the reset link, update the information of the account in database

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.