What GitHub projects can be used for reference in the graduation project?

I wrote an article a few days ago: Is your graduation project XX management system? The reading volume is quite high, and many readers thought it was recommending a few eye-catching GitHub projects, but found that they were not.

I recommend a few projects when I go shopping today. The graduation design can learn from the following GitHub projects. I am not simply recommending projects, but I will also give some ideas. Based on these GitHub projects, I can change my own project, and at least I can add one more project. Isn't the experience?

In addition to some GitHub projects, Laoguan also recommends some channels, from which you can also get some actual projects and source code.

Tip: The items recommended in this article are only applicable to undergraduate graduation design reference.

GitHub project recommendation

The recommended GitHub projects are not simple XX management systems. I will recommend a few entry-level but not so low-level projects from the following directions.

  • JavaWeb project

  • Mobile project

  • Machine learning project

  • Deep learning project

  • Recommended system

  • Big data project

01

JavaWeb project

Xuezhisi Online Examination System

This project is a Spring technology stack + Vue.js separated front-end test system, divided into student end, user end, small program end, can cover PC and mobile end. . The interface is beautiful, the design is friendly, and the code structure is clear. Even if you are looking for a job, this project is also a good practice project.

And supports multiple deployment methods: integrated deployment, front-end and back-end separate deployment, docker deployment.

Address: https://github.com/mindskip/xzs

Student end

Management side

Applet

online examination

The back end of this project uses Spring Boot + JPA + Swagger2 + JWT technology stack, and the front end uses Vue + AntDesign technology. Both are online exam systems, but the UI interface of this system is better than the previous project.

Address: github.com/19920625lsg/spring-boot-online-exam

Sign in

Home

Answer

Exam management

Exam list

Takeaway System

A complete takeaway system, including mobile terminal and background management. A takeaway system based on Spring Boot and Vue's separation of front and back ends, including complete mobile phone and background management functions.

Address: gitee.com/microapp/flash-waimai

Cinema seat selection system

Development technology: Spring MVC + Spring + MyBatis framework, MySQL database. Alipay sandbox payment LayUI Baidu Echarts chart Redis cache middleware. Features: payment, visualization, intelligent seat selection, etc.

Address: https://gitee.com/bysj2021/cinema

02

Mobile project

Mobile projects can imitate some of the current mainstream apps, such as takeaways, short videos, and live broadcasts. For example, the imitation US group project I will recommend below. You can change this project. How can you change it?

Let me give you an idea: When a user orders a takeaway, the merchant will receive a message "You have a new order". The merchant chooses to take the order or not. If the merchant takes the order, the user will pay and proceed with the following business.

You can set up an online printing reservation system for campus. When the user opens your system, you will see all the print shops in your school. You choose a store you are interested in and upload your print file. At this time, the print shop owner will receive a message "You have a new order", and the merchant chooses Take orders or not take orders.

After you make the payment, the merchant will automatically print this document. After printing, the store puts the document on the shelf of the print shop. At this time, the owner clicks "Notify Pickup" and your system will send a text message to the user: "Your document "Pretend to be a file name" has been printed. Please go to the Ximen Printing Store of Tsinghua University (100 meters to the left of the west gate) to pick up the goods. The pick-up number is "666".

I just mentioned this idea. It can be changed through the project of Meituan. The payment function, positioning function, and SMS function are not difficult. The payment function can use Alipay sandbox, which can fully meet the needs of the defense demonstration. The SMS sending function is various. Cloud platforms provide related services. For example, I recommend an article:  Implementing the Java SMS function in 7 minutes

Meituan takeaway order

The front end uses vue+vuex+vue-router+axios, the back end is based on the nodej.s framework, and the database uses mongodb. The functions involve login, location, browse goods, add shopping cart, place order, payment (WeChat, Alipay scan code payment), evaluation, personal information change.

Project address: https://github.com/zwStar/vue-meituan

Refine today's headlines

The data is the data captured by Toutiao App. Open source project developed using RxJava + Retrofit + MVP.

Project address: https://github.com/chaychan/TouTiao

The following two GitHub projects are copy versions of Douyin App developed by mobile developers, and I have recommended them before.

iOS imitated vibrato

This vibrato Demo is compatible with iPhone and iPad, and is compatible with iOS 8.0-iOS 12.0. It is written in Object-C language. Biaoxing 1.5K Star, project address:

https://github.com/sshiqiao/douyin-ios-objectc

This project is divided into three parts: the realization of Douyin's personal homepage, the realization of network video related functions, and the realization of WebSocket to realize the IM instant chat function.


Android imitated vibrato

The technical points involved in this Demo are as follows:

  • Recycler + PagerSnapHelper to achieve full-screen switching playback effects,

  • Use Lottie library to load Json animation

  • BottomSheetDialogFragment realizes the function of sharing comments

  • CoordinatorLayout + AppBarLayout realizes folding layout.

The target star 1K Star, project address:

https://github.com/18380438200/Tiktok

Show video

This project is a short video social applet, the system includes a user terminal and a background management terminal. Users can publish their own short videos on the Mini Program, and add filters or background music through our platform to create unique short videos. It has the functions of like, comment, download, share and forward. The technology stack is as follows:

前端: H5、CSS、JavaScript 、JQuery、Bootstrap、Themeleaf

后端:Spring Cloud、Spring Boot、Sping、Spring MVC、MyBatis、MySQL、Redis、Shiro

Components: Bootsrap-table, webUploader, PageHelper

Project address: https://github.com/RAOE/show-videos

Douyu Live App

Flutter's reconstructed Douyu live broadcast APP, homepage and entertainment are Material components; live broadcast room and fish bar are purely customized.

Address: https://github.com/yukilzw/dy_flutter

Imitating NetEase Cloud Music

Netease cloud music software based on flutter, supports iOS and Android.

Address: https://github.com/boyan01/flutter-netease-music

High imitation station B

Web mobile terminal based on react + express high imitation B station

Link: https://github.com/code-mcx/react-bilibili

03

Machine learning, deep learning

Machine learning projects and deep learning projects are put together. For undergraduates, most of them don’t have the foundation of deep learning and machine learning. If you don’t have the relevant foundation, you still want to do this related project. I recommend several tutorials. These tutorials are all I have studied it carefully and I am responsible for telling everyone that it is no problem to understand these videos and respond to the defense.

Wu Enda Machine Learning: www.bilibili.com/video/BV164411b7dx

Machine learning tutorial: https://coding.imooc.com/class/169.html

Wu Enda Deep Learning: www.bilibili.com/video/BV164411m79z

Pytorch actual combat: https://www.bilibili.com/video/BV1cV411Y7jZ

Tensorflow actual combat: https://www.bilibili.com/video/BV1Zt411T7zE

emotion analysis

Sentiment analysis of product reviews based on machine learning, using Selenium to simulate real login behavior and crawling data. Using jieba word segmentation, the classification model uses machine learning algorithm SVM and deep learning algorithm LSTM.

Address: https://github.com/20100507/emotional_analysis

Public opinion analysis

Using microblog hot topic public opinion cluster analysis, the main functions include crawling microblog data, microblog data text processing, feature vector extraction, and Kmeans clustering.

Address: https://github.com/pengLP/sina_analysis

This project just uses the simple clustering algorithm Kmeans. If you use this project as your own graduation project, I think you can investigate deep learning-related algorithms, read a few papers, and have the ability to reproduce it and then improve it. You can do a lot of things with the data. According to my thinking, it is enough to deal with the graduation design of undergraduate.

If the data crawled by this project cannot meet your needs, you can go to this library to see, a very useful Weibo crawler.

https://github.com/dataabc/weiboSpider

Picture Classification

There are many projects on this GitHub. You can directly search GitHub for keywords "Pytorch image classification" or "TensorFlow image classification", such as cat and dog classification. If you do image classification, the technical route is roughly the same, all based on convolutional neural networks.

But you need to change it. How to change it? Let me give you a chestnut: You can classify diseases. There are many open source data sets on the Internet. Judging whether a picture is a cat or a dog is essentially the same as judging whether a picture has a disease. of.

If you want to do something fancy, you can use the attention mechanism to find the lesions. The final result is: input a medical picture, it will output the probability of this picture, and highlight the lesions on this picture .

Open source data set: CQ500

For an undergraduate graduation project, I think this level is enough. If you don't understand the technical terms I just said, you can understand after reading the Wu Enda deep learning tutorial I just recommended.

I have done research in this area. If you are interested, you can click to watch it. If you are watching a relatively high number, I can open source a project by myself and teach you (even record a video).

Generative confrontation network

Before, I wrote an article that introduced some demosaicing techniques. At present, the most popular is to do it by generating a confrontation network (GAN). GAN is a very interesting technique, including face changing and one-click changing (tuo) clothes. and many more.

If you have spent a while to finish the deep learning basics I shared, I recommend you to read a course by Professor Li Hongyi of National Taiwan University, which is devoted to generating adversarial networks.

If Bi Shi builds a generative adversarial network, it's pretty good. Everyone does classification or recommendation. If you are a maverick and made such an interesting thing, I believe the teacher will give you a high score.

Don't worry about the network being launched, but the papers are not available. Go to CNKI and search for a master's thesis to generate a confrontation network, and just write them according to their routines.

Li Hongyi GAN tutorial address:

https://www.bilibili.com/video/BV1Up411R7Lk

Pytorch officially generates sample code for confrontation network:

This is a chapter of the official Pytorch tutorial. It explains GAN for Xiaobai, and directly uploads the code, the explanation is in place, clear and easy to understand, and well-annotated. The example model is DCGAN (you don’t care what GAN it is, it’s a kind of GAN anyway, you can understand by reading the tutorial)

And you don’t have to worry about your graphics card being insufficiently trained. The Google Colab environment code is directly provided in the tutorial. If you can access Google, you can use the computing resources it provides to run the code from beginning to end for free to deepen your understanding of GAN.

The figure below is a synthetic face generated by the trained network. Although it is not very real, it is a good quick start.

Address: https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html

If you get this done, you can actually choose the topic you want to do: such as face attribute manipulation, image style migration, etc., very interesting projects, and the point is that these codes are all open source and important Say it three times: open source! Open source! Open source!

Face attribute manipulation

This is an article from CVPR 2019, the top computer vision conference. You can see the generated faces for manipulation, such as glasses, beard, hairstyle, etc.

Address: https://github.com/csmliu/STGAN

Image style transfer

The code quality of this project is also very high, you can use it to modify or implement the functions you want to achieve in the design. The core idea of ​​style transfer is that you can extract  style (for example, Van Gogh's night sky style) and content (for example, you can see a horse by the river in the painting) from an image. You can tell the computer to draw A again in B style. Is this kind of topic interesting?

Address: https://github.com/junyanz/CycleGAN

04

Recommended system

Movie recommendation system

This project is a movie recommendation system based on a big data filtering engine, including crawlers, movie websites (front-end and back-end), back-end management system, and recommendation system (Spark).

By burying points in the movie website system, the user's click event (such as which movie the user likes or the rating of a certain movie is obtained) and the information is transmitted to the recommendation system, the recommendation system makes corresponding processing based on the information, and recommends The results are stored in the MySQL database, and the Web front-end displays the recommended movies to the user by querying the database.

Address: https://github.com/LuckyZXL2016/Movie_Recommend

News recommendation system

This project is a news recommendation system based on a big data computing engine, which includes crawlers, news websites (front-end and back-end), and recommendation system (Spark). Today’s website is a Web project based on the Spring Boot framework. Users complete registration on the website After logging in, the website will record the user's browsing behavior. At the same time, the website will also present the recommendation results to users.

Address: https://github.com/luochana/News_recommend

05

Big data project

Metro Passenger Transport Analysis Big Data Project

This project mainly analyzes Shenzhen Tong's credit card data, studies the passenger transport capacity of Shenzhen Metro from the perspective of big data technology, and explores the direction of Shenzhen Metro's optimized service.

This project involves a lot of technology stacks, not long after the project was released, I also recommended it before. As it involves more common technology frameworks, it can deepen the understanding and application of each technology stack. Only in the process of using can you experience the differences and advantages and disadvantages of each framework, so as to lay the foundation for future project development technology selection.

Below are the open source addresses of GitHub and Gitee. The data used by this project is also in the project. It is recommended to visit Gitee faster in China.

  • https://github.com/geekyouth/SZT-bigdata

  • https://gitee.com/geekyouth/SZT-bigdata

News Network Real-time Big Data Project

This is a big data real-time analysis visualization system project based on Spark2.x news network. This project is based on the classic case project of enterprise big data (big data log analysis), which explains the business analysis and technology selection of big data projects in a comprehensive and full process. Model, architecture design, cluster planning, installation and deployment, integration, inheritance and development, and web visual interaction design.

The main business includes capturing user browsing log information, real-time analysis of the top 20 news topics with the highest traffic, real-time statistics of current online news topics, and statistics on which period of time the user views are highest.

Address: https://github.com/LuckyZXL2016/News_Spark

This is the system design process:

Other channels

In addition to GayHub and Gitee, there are actually some websites where you can find projects that can be deployed, but you don't know.

1. Most code

The UI of this website is a bit last century, but the main business is source code sharing. The quality of the source code is uneven, but it is also a place to find the source code of the project. The main reason is that each uploaded source code will be deployed by the host personally to ensure that it can run smoothly before hanging on it.

Website: http://www.zuidaima.com/

2. MOOC

In fact, there are a lot of actual combat projects on Mukenet. Although some need to be paid, the code is hand-kept by the teacher, and the environment configuration is also taught to you. It also provides the source code and software needed for the actual project.

Address: https://www.imooc.com/

When I was learning Java, my first practical project was from teacher Geely. To be honest, I learned a lot at the time.


3. PHP Chinese Network

This website is relatively niche, and it also focuses on the PHP technology stack, but it provides resources including but not limited to various video tutorials, Chinese documents, and actual combat deployable source code. If you think PHP is the best language in the world , And if you plan to use PHP to write a complete set, that's right here.

Address: www.php.cn/xiazai/code

4. How2J.cn

How2j's Java tutorial covers comprehensive Java content such as J2EE, Web front-end, and framework technology. The learning method based on example code and video explanation may be able to lay a solid foundation for your future java career. Of course, there are also a lot of actual project source codes, and video explanations are attached, which can give you some useful references.

Address: https://how2j.cn/

Well, share it here today. If this article can be forwarded to favorites, prevent it from being found. You can also mark the starbook official account so that you can receive the push as soon as possible. Visit GitHub: I recommend a fun GitHub project that you may use every day. See you tomorrow!

—— end ——

Finally, those who like this article can forward it and read it. The following platforms have old shoppers. Welcome everyone to follow my account of the same name on other platforms.

           

Recommended reading

1. Recommend a few fun projects

2. Recommend a few useful items

3. Recommend several useful tools

Recommend a GitHub project every day that is interesting, fun and you may use.

 

Guess you like

Origin blog.csdn.net/weixin_47080540/article/details/112505035