Skip to content

young1881/SJTUer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SJTUer

English | 简体中文

SJTUers (a portal system for Shanghai Jiao Tong University students) is an unofficial website application. The purpose of this website is to develop a personalized homepage for SJTU students, integrating the commonly used information of SJTU and daily life.

Background

The current domestic homepage situation is worrying:

  • Common default homepage advertisements are rampant and impractical, such as hao123, 2345, 360, etc.;
  • Homepages like default search engines can implement too few functions (only for retrieval), and the UI is not personalized enough;
  • When SJTUers visit the common SJTU websites, they often need to memorize the URLs or add them to favorites, and they often need to search for different SJTU related information on different websites, which greatly wastes the time of countless SJTUers.

Compared with existing similar homepages:

  • Some people have developed a simple and practical homepage, but the lack of personalization has not been resolved, such as simple navigater;
  • ZJU has built a personalized homepage for the students of the school - ZJUers, which has the characteristics of simple domain name, simple interface and complete functions, but its individuality Personalization is only for school personalization, we hope to build a personalized homepage for user units.

Features

  • Index of commonly used websites of SJTU, such as Academic Affairs Office, Teaching Information Service Network, canvas, mailbox, etc.
  • User module, which supports Jaccount login, and can synchronize the URL and other data personalized by the user.
  • Todolist component, which records the user's task list and supports setting task categories and priorities.
  • Information components, including announcements from the Academic Affairs Office, SJTU News, Weibo, Zhihu, and bilibili hot search real-time information, using asynchronous programming to implement crawlers.
  • Weather components, including real-time weather and 3-day weather forecast, can customize the current city.
  • People flow components, including real-time data information visualization of canteens and libraries.
  • Search engine, which allows switching among commonly used search engines such as Baidu, Bing, and Google.
  • Daily poems, a poem is updated at the bottom of the page with each refresh.
  • Clock component, real-time page flip for dynamic display.
  • Simple mode, click the clock component to automatically switch the simple mode switch, and display the todolist with the highest priority in simple mode.
  • Wallpapers, where users can choose from the wallpaper library or upload their own wallpapers, and synchronize with users.
  • AI text to picture, which allows entering a text to describe the content of the wallpaper you want to display when setting the wallpaper, and automatically generate the wallpaper according to the text.

Usage

This project uses vue, Echarts & Eslint to build the front end and django, sqlite & aliyun to build the back end. The front end uses axios to request data from the back end. The workflow is shown as follow.

Run in Terminal

Enter the /django directory:

pip install -r requirements.txt
python3 manage.py migrate
python3 manage.py runserver

Enter the /vue directory:

npm clean cache -f
npm install
npm run build

Follow the terminal prompts to access localhost:5173/ .

Run in Docker

Pull docker image from docker hub and run, Django and Vue, respectively:

docker pull kyrie11zhang/sjtuer_django
docker run -it -d --name sjtuer_backend -p 8000:8000 kyrie11zhang/sjtuer_django
docker pull kyrie11zhang/sjtuer_vue
docker run -it -d --name sjtuer_frontend -p 5173:5173 kyrie11zhang/sjtuer_vue

Visit localhost:5173/ .

Contributing

Feel free to dive in! Open an issue or submit PRs.

Standard Readme follows the Contributor Covenant Code of Conduct.

Contributors

This project exists thanks to all the people who contribute: herfst77, joyiee, zhanzh0331, Suvanka, Zhangky11, young1881

License

MIT © Wortox Young