Possible Software Engineering Class Projects

Project Templates

The project templates can be find here. Each project team is expected to follow the same template for their projects. The templates will be briefly discussed in the first week of recitations.

Project 1: Presentation software

There are different presentation softwares on the market such as Microsoft Powerpoint, OpenOffice, Google Slides and so on. They mostly have the same type of animations and transitions in order to keep the .ppt file format. You can create a new presentation software that can load and save the presentations created with that software. You need to decide on the syntax of the new file format of that presentation created by your software. You can get ideas from prezi.com that has different animations. You can create new transition types or animations to the presentation. Another extension could be that the user can input a video file and the software needs to include necessary texts and images to make a presentation. An alternative presentation system is prezi.com that has done that.

Project 2: Bus tracker

Create a web-based or mobile application that visualizes the positions of the public buses. Get the information of at least 5 public bus (e.g., Lynx) lines at Orlando. You can also get the time schedule of each bus on their website. Then with their route and time schedule, simulate the positions of these buses as time goes by. You need to create a visualizer and call the google map so that you can show the ''real-time'' positions of these buses.

Project 3: Penny football

Create a web-based or mobile application which implements penny football, a cross between snooker and pin-ball, two teams of 5 coins each of which can be "flicked" to "kick" another smaller "ball" coin into the goal area. Extra pins form obstacles that interfere with play! Another game that offers endless opportunities for using your imagination, whether single-user or internet-based. The game should rely on a centralized database for ongoing and previous games. The system should allow to start a game by logging in, seeing who else is logged in, and propose a game to the other user.

Project 4: Academic article manager

Create a web-based or mobile application for the online maintenance and classification of academic articles. Users can upload the article in a certain format, or simply specify the DOI number where the article is already available on the internet. The software should process the article and perform the following tasks: extract metadata (title, authors, abstract), potentially extract other data from sites such as Google Scholar, Microsoft Academic Search etc, and transform the format into a number of standard formats (PDF, HTML, TXT, RDF and so on). The reference list will contain DOI numbers of the articles. That DOI number means that the article's abstract is available on the internet. The article's abstract will be scanned and keywords will be extracted. The articles that have similar keywords should be categorized. The software will provide a text file that contains the categories and only the name of the articles under that category. Another feature that this system should provide is that text files for each separate category should be created. In that text file the title of the articles,name of the authors and the abstract should be provided. An interesting approach to implement this system is by using the serverless model of web computing, for instance relying on Amazon Lambda or Google Cloud Platform Cloud Functions.

Project 5: CV creation software

Create a web-based or mobile application for the creation of a Curriculum Vitae (CV). The user will enter his/her information in order to create a CV. Based on the information entered, the system will provide a doc or pdf file. Different templates for CVs must be put into the system. The templates can be some fancy ones(http://www.hloom.com/creative-resume-templates/) as well as standardized ones like official European union template (https://europass.cedefop.europa.eu/documents/curriculum-vitae/templates-instructions). CV information should be saved as encrypted format in the desktop application.

Project 6: E-commerce product rating

Create a web-based or mobile application which allow users to rate various e-commerce products. A customer will log in to the application, and search for a specific product. If the product is already in the database, the user can read the existing ratings and comments. If the product is not in the database, the customer can create an entry for the product first. Additional enhancements of this product can consist of algorithms that could be used to track and manage customer reviews, through mining topics and sentiment orientation from online customer reviews and sentiment. Certain keywords mentioned in the customer review will be mined and will be matched with the keywords which already exist in the database based on the comparison, system will rate the product and services provided by the enterprise. The system will specify whether the products and services provided by the E-commerce enterprise is good, bad, or worst. The system will rate the product and services provided by the enterprise.

Project 7: Smart health consulting

Create a web-based or mobile application which maintains patient health records and gets appointments from various doctors for related treatments. The system user must register as a member of this system and keep updating his medical history. Patients can then select from a list of specialized doctors for respective treatments such as (skin specialist, ENT specialist cardiologist etc) at particular locations. Doctors may also add some prices of the services they offer (tooth pull, tooth fill) so that patients can select the cheap ones. Patients may also select suitable appointment timings for their meeting.

Project 8: Employee tracker

Create a mobile application that can keep track of a user. When the user logs into to the system the user's image will be captured and GPS location will be send to the admin where admin can view image and GPS location in web application. After login, GPS location of the employee will be tracked automatically by the system and send to the admin every 10 minutes. The admin can add new employee and view the GPS location of the employee by entering employee identity number as well as date. Since GPS location of the employee is tracked, the employees should not be able to add fake their location.

Project 9: Customer relationship management (CRM) system app

Create a mobile application that can manage a company interactions with current and future customers. Customer relationship management (CRM) often involves using technology to organize, automate, and synchronize sales. Company employee must keep track of current and future customers to synchronize sales.

Project 11: Movie/TV show tracker

The software can be developed as a mobile application or as a website. The project should have a database of movies and TV shows. The clients should be able to select their favourite TV series, future movies or people such as directors and they should be reminded by the system about upcoming show or movie. Your show tracker should have the function that when new show information is added to the database, the targeted/subscribed clients can get notifications from the server.

Project 12: WebLVC Server and Client

Implement a web server and client supporting the WebLVC communication standard, which is new protocol to move live, virtual, and constructive military simulation viewers to web and mobile applications. The WebLVC standard is currently a draft and has largely been driven by a company called VT Mak. The purpose of developing a test server and client is to identify any issues with the draft standard and to create competition in the WebLVC market. Technology required: HTML 5, JavaScript, JSON, C++. Websites: https://www.mak.com/products/link/weblvc, https://www.sisostds.org/StandardsActivities/DevelopmentGroups/WebLVCPDG.aspx

Project 13: Distributed physics in Unity using SpatialOS

Use the SpatialOS software to connect multiple Unity game engine instances to create a very large world with a large number of simulated entities and dynamics. SpatialOS enables distributed physics interactions across multiple server boundaries. Technology required: C#, Unity. Websites: https://improbable.io/games, https://improbable.io/games/blog/distributed-physics-without-server-boundaries

Project 14: Character Rigging and Animation Integration

Create a library or integrate a third-party library to automatically create a skeleton (rig) to match the 3D model of a character. Then, integrate the rig with open-source animation data. The character should then be viewable and animated within the Unity game engine. Technology required: C++ or C#, Unity.