Skip to content

This is an implementation of newspaper information management system using pyqt6

License

Notifications You must be signed in to change notification settings

bhhoang/newspaper-project

Repository files navigation

Project 17 - Group 3 - Newspaper Information Management System

image

Table of Contents
  1. Introduction
  2. Group Member
  3. Features
  4. How to run
  5. Changelogs

I - Introduction

  1. Newspaper Management System

    • This is the project to implement Newspaper Management System
    • We use mongodb to store a collections of news
  2. Workflows

    • Config database host (mongodb) in the base.conf
    • On start app, create cache folder
    • Using requests to download preview image for main page
    • User click on category:
      • Show the list of articles in that category as a scroll list
    • User click on an article:
      • Show the article
      • User click logo or category then switch page
    • User click on login:
      • Login to become an author
      • Save state to cache
      • Author click on Articles
        • Show Articles Management Window
          • Click on Add Article
            • Show Add Article Window
              • Fill in the form
              • Click on Add
                • Close Add Article Window
                • Update to the database
              • Click on Cancel
                • Close Add Article Window
          • Click on Delete Article
            • Show Delete Article Window
              • Choose articles to delêt
              • Click on Delete
                • Confirm delete, delted choosen articles
                • Update to the database
              • Click on Cancel
                • Close Delete Article Window
      • Author logout
    • User exit app
    • Delete temporary articles file in cache folder
  3. Requirements

    • Python
    • MongoDB (Atlas or local)
    • PyMongo
    • PyQt6

II - Member List

Name Student ID Department Contribute over 20
Bùi Huy Hoàng BI12-170 ICT 20
Nguyễn Duy An BI12-006 ICT 20
Đinh Khánh Minh BI12-265 CS 12
Lê Vũ Hoàng Linh BI12-243 CS 17
Nguyễn Hoàng Dương BI12-120 DS 17

III - Features

  • Login
  • Logout
  • Add article
  • Delete article
  • Show article
  • Show list of articles
  • Show list of categories
  • Edit profile

IV - How to run

  1. Install python
  • For Windows: Download and install python from here
  • For Linux: Install python by using command
sudo apt install python3
  1. Install pip
  • For Windows: Download and install pip from here
  • For Linux: Install pip by using command
sudo apt install python3-pip
  1. Install and use virtualenv (optional)
  • To install virtualenv, using pip
pip install virtualenv
  • Create virtual environment
virtualenv venv
  • Activate virtual environment

    • On windows
    venv\Scripts\activate
    • On Linux/Mac
    source venv/bin/activate
  1. Install dependencies
pip install -r requirements.txt
  1. Init database with init data:
python ./model/Data.py
  1. Run app
python main.py
  1. Deactivate virtual environment
  • On Windows:
venv\Scripts\deactivate
  • On Linux/Mac:
deactivate

V - Changelogs

04/16/2023

  • Thay đổi base.conf (còn host cho database và icon)
  • Fix taskbar hiển thị icon của python thay vì của app
  • Thay đổi hàm create_author. Thêm parameter cho email
  • Chỉnh sửa hàm hash_password và check_password trong models/methods.py cho chạy chính xác hơn
  • Thêm hàm _check_exist_email trong models/dbqueqry.py
  • register.ui giờ có thêm trường điền email
  • TODO: Xóa pointer-event trong stylesheet của register.ui vì mỗi lần mở đều print ra terminal Unknown property pointer-events

04/17/2023

  • Hoàn thành login logic, register logic.
  • 1 thay đổi với Data_Articles. Giờ có thêm preview_img
  • Thay đổi cách bộ nhớ đệm lưu trữ thông tin
  • Giờ mọi thứ liên quan đến current_user sẽ làm việc qua ./cache/json
  • Thay đổi cách lưu trữ ảnh trong database

04/18/2023

  • Hoàn thành chức năng thêm bài viết
  • Hoàn thành chức năng xóa bài viết
  • Hoàn thành chức năng hiển thị bài viết
  • Hoàn thành chức năng hiển thị Profile
  • Hoàn thành chức năng Edit Profile
  • File new_ui_alpha.py -> main.py
  • Decompose main.py

04/19/2023

  • Xoá icon trong base.conf
  • Sửa requirements.txt (bị thiếu pymongo)
  • Sửa README.md, thêm changelog
  • Sửa LICENSE từ Unlicense sang MIT

04/21/2023

  • Chuyển sang dùng uuidv4 cho article và author
  • Fix bug khi mở entertain category (Trong code ghi nhầm thành Entertainment)

04/22/2023

  • Các cửa sổ của articles sau khi thêm hoặc xóa giờ sẽ đồng bộ với nhau
  • Giờ chỉ có thể mở một window cho mỗi chức năng
  • SingleTon cho Database class
  • Xử lí encoding với unicode khi mở để đọc báo

About

This is an implementation of newspaper information management system using pyqt6

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages