Skip to content

Superskyyy/iQueensu

Repository files navigation

Develop Build CircleCI Master CircleCI

CodeFactor

iQueensu

  • Frontend Portal to iQueensu - frontend repo

Development Instructions

Best practices

  • Always push to personal branch and open a PR.
  • Request review from a peer dev.
  • Follow PEP 8 coding style, follow Pylint.
  • Always run a test after you modify anything.
  • Follow the instructions of git-flow

Git-flow

Git-flow is a tool for automatic branch management, deal with dirty commit histories. Following are default settings for this repository:

  • Production branch: master
  • "Next Production" branch: dev
  • Feature: feature/
  • Bugfix: bugfix/
  • Release: release/
  • Hotfix: hotfix/
  • Support: support/

Notice: NEVER EVER modify master dev dev-deploy release directly! Notice: Always squash verbose commits to a single one tight and neat commit before merge into main flows.

Basic usage of Git-flow:

  1. Start with a new feature

    git flow feature start "your-feature-name"

    This will automatically create a new branch called feature/your-feature-name, based on dev branch

  2. Finish a feature Do not use git flow feature finish directly. After finish your coding, create pr manually on github. After your code is fully reviewed and marked as ready to merge, then run

    git flow feature finish "your-feature-name"

    This will merge contents of feature/your-feature-name into dev, and delete feature/your-feature-name

  3. Initialize with git-flow

    git flow init

    And then follow by instructions

Deploy and test

When you pull request or merge into dev-deploy, the contents will be automatically tested and send to dev test server if no error occur during ci build and test stage.

PyLint

  • Pycharm - Preference - Plugin - Marketplace

  • Search for Pylint, Install it and reboot Pycharm. Pylint will appear as an icon in lower left corner, there's one inside VCS - Commit too.

Testing

Configurations

  1. Modify settings.py in iQueensu, make sure docker is set to True
  2. Duplicate settings_example.py to settings.py in QCumber - scraper - assets. Fill in corresponding Queen's SSO credentials. This step is crucial to the proper running of SOLUS Scraper.
  • To run the project in pure local env (Not recommended), set docker to False. Note you may encounter multiple errors as this method is deprecated.

Our project is Dockerized

  • To build the source code in your local Docker

    • The docker container will automatically reflect latest change of source code. So don't build again, run > docker-compose up instead.
    1. Clone the code, make sure docker is running
    2. Make sure the DOCKER Variable is set to True in settings.py
    3. Run following commands
      docker-compose run web python manage.py migrate
      
      [Windows Git Bash]> winpty docker-compose run web python manage.py createsuperuser
      
      [Unix & Powershell]> docker-compose run web python manage.py createsuperuser
      
      docker-compose build
      
      docker-compose up
      
      
  • To pull from remote image.. Implementing

  • Then, to test the backend, you run the scraper by entering the url given to you by the console:

0.0.0.0:8000/admin/course or 127.0.0.1:8000/admin/courses or Localhost:8000/admins/courses

Enter your username and password to SOLUS and Start Scraper. DO NOT REFRESH THE START-SCRAPER-PAGE You can see in the docker-console that the scraper is running.

API VIEWs:

Go to /api/v1/qcumber/


Contributors

Usernames are listed in alphabetical order

Amber201604
Amber
Backend
Developer

📖 👀 📢
EricPyZhou
EricPyZhou
Chief Frontend
Developer

📖 👀 📢
Pipi
皮皮Fox
Frontend
Developer

📖 👀 📢
Ricky Zhang
Ricky Zhang
Chief UI/UX
Designer

📖 👀 📢
LeoZzz
LeoZzz
Frontend
Developer

📖 👀 📢
Somion
Somion
Full-Stack
Developer

📖 👀 📢

Previous Contributors

Nalsen
Nalsen
Special Thanks
Previous Developer

📖 👀 📢

TO DO LIST: Prioritized

Qcumber Dev

Project Title

This is the repo of Project iQueensu, an django-react based website working along with a discourse powered forum.

We aim to build and provide a better community for Queen's Students and Alumni.

Getting Started

Requirements

Optional ()

Installing

Deployment

[Bash Script] - Triggered by Git Actions CI Implementing...

Python path can be found by

import sys
      
print("Python EXE : " + sys.executable)

Built With

  • Django - The web framework for perfectionists with deadlines.

About

Project iQueensu backend

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages