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.
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.
- 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.
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.
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/
.
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/
.
Feel free to dive in! Open an issue or submit PRs.
Standard Readme follows the Contributor Covenant Code of Conduct.
This project exists thanks to all the people who contribute: herfst77, joyiee, zhanzh0331, Suvanka, Zhangky11, young1881
MIT © Wortox Young