Team Project Assignments
Team No. Members Project
Student management system (Project 17)
Online crime report app (Project 22)
Document management tool (Project 6)
Interactive calculus visualisation aid (Project 12)
Inventory software (Project 11)
Creative card game (Project 24)
Cascading finances budgeting app (Proposed own)
Grocery Tycoon (Proposed own)
Knight Go (Project 10)
Figure drawing software (Project 7)
Multiplayer soccer manager game (Project 2)
Multiplayer soccer manager game (Project 2)
Knight Go (Project 10)
Strategy game app (Proposed own)
Advanced ticket finder (Project 1)
Tourist guide (Project 9)
DJ software (Project 8)
Hotel management (Project 18)
Computer generated art (Project 3)
Creative card game (Project 24)
Hotel management (Project 18)
Inventory software (Project 11)
Mentor Me (Project 23)
Creative card game (Project 24)
Sunrail tracker (Proposed own)
Hotel management (Project 18)
Computer generated art (Project 3)

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.

Possible Software Engineering Class Projects

Project 1: Advanced ticket finder

Create a a web-based application or a mobile application for searching for airplane tickets. The repository of the current tickets must be maintained in a centralized database. Allowing selection of multiple cities and airports at the same time, searching for more than 3 days before and after the selected date, narrowing the search according to user ratings may be some of the examples of such advanced functionalities. You should be able to create a sample database including some information for flights, car rentals, hotel reservations, movie/concert tickets and user ratings, then you should be able to implement the web-application using this database. Please do not limit yourself with the examples given as new functionalities, but make sure you provide all the functionalities in a popular ticket finder application and the suggested new functionalities.

Project 2: Multiplayer soccer manager game

Develop a game in which the player takes the role of the manager of a soccer team. The application should rely on a centralized database and it should allow multiple players. You can implement the game either as a mobile application or as a web-based application. You are expected to implement most of the management functionalities such as transfers of soccer players among the teams, player trainings, finance (e.g. stadium benefits, contracts, merchandise), creating new young players regularly and any other common functionalities you see in almost all soccer manager games. You are allowed to select another sport, providing the same functionalities mentioned above. For example you can develop a multiplayer baseball manager game instead of a soccer game.

Project 3: Computer generated art

This software is mainly aimed at creating art (music, sound, picture, 3D model) from users input to some canvas or similar type of environment. The user can draw different lines and curves with different colors and line widths. The software should then create a music or another picture from that drawing. Since the main goal of the software is to create an art piece rather than a drawing tool, any library or plugin can be used for the drawing part. Another option for this project is that the user can input voice or sound from microphone and the software will create a picture for that sound.

Project 4: 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 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 that has done that.

Project 5: 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 6: Document management tool

Develop a web-based document management tool for organizations and teams. The idea is that documents uploaded by different team members will be visible to every team member. The users should be able to upload a scanned version of the document and edit associated metadata such as title, creator, keywords, version number and so on. Users should be able to search for documents based on this metadata. Admins must be able to track and monitor the current workload of the system in terms of the efficiency due to number of people, storage, etc.

Project 7: Figure drawing software

Create a web-based or mobile application that allows users to draw figures by adding different objects (rectangles, circles, arrows, texts, images, etc) in various sizes and colors and they must be able to move these objects as they wish. The users should be able to change the fonts of the texts. One of the main goals of the project is to provide easy to use software which allows the users to quickly create their figures such as flow-charts, class diagrams, sequence diagrams, etc. The figures should be stored in a centralized database. When logged in, the users should be able to see the figures they have previously created.

Project 8: DJ software

There are many DJ software on the market. Most of them have basic actions that allows the user to mix different sounds. This DJ software should have interesting sound library (you can find these from the Internet) that are not made with typical musical instruments. The sound library may be kept confidential for this software. Sounds of birds, shaving machine, washer or car engine can be good examples. The main feature of this software will be mixing two sounds together to form a new different sound. After mixing various pairs of sounds together, the user can create its own music. You can combine more than two different sounds or only some parts of different sounds. Volume adjustment and multiple track scheduling will be the ''must'' features that should be implemented. See Audacity, Sony ACID or Mixxx for some example user interface.

Project 9: Tourist guide

Develop a mobile application that provides a tourist guide that can help you with finding the touristic attractions of a place you are visiting. The application gets the user's exact location based on the GPS. Based on your location, the application can recommend you few audio/video introductions about the attractions nearby. This audio/video can be played automatically or manually. When there are multiple options, the user could choose a specific attraction from the list.

Project 10: Knight Go

Develop a mobile augmented reality application, similar to Pokemon Go. In various points of the campus, there will appear Knights. The location of the knights are kept in a centralized database. A player needs to navigate to the specific location in the campus and pick up the Knight. All the knights can be picked up only once, so the first one who picks it up gets it.

Project 11: Inventory software

Create a web-based or mobile application to provide an inventory record program. The software will have a barcode scanner inside which may be used as an external library. The admin of the system will add items by scanning the barcodes first. Besides that feature the barcode also may be entered manually. Then he/she will enter the price of the item (to sell), description, expiry date, and the price of the item that is bought from the wholesale store. After adding various items, the user/worker will scan the barcodes of the items every time while selling the items on the cashier desk. The mobile device will have an ability to send various reports to some email addresses. The profit gained that day, the number of items sold that day might be included in the report. If an item is about to be sold but it's expiration date has been passed, then the system should either not allow user to sell it or should provide some discount to the item. A payment system is not required for this software project but generating an XML report may be useful if a future server integration feature should be added to the system.

Project 12: Interactive calculus visualisation aid

Create a web-based or mobile application that allows high school students beginning to study integration and differentiation. The basic idea is to allow the student to interact with the graphical software in order to gain a better feeling for these difficult concepts. The user will enter one or more equation or a phrase to get the differential or integral. Interactive demonstrations of slope, tangent, infinitesimal, peek points, asymptote, area under a curve, etc. are required. The system should provide some differentiation of the equations. For the integral, the system can provide some integral rules of the simple functions like cos,sin,tan,tanh,cot, 2nd or 3rd order polynomial functions. You can check integral or differentiation cheat sheets to get an idea which functions should be readily implemented.

Project 13: 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 14: 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 15: 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( as well as standardized ones like official European union template ( CV information should be saved as encrypted format in the desktop application.

Project 16: 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 17: Student management system

Create a web-based or mobile application which allows teachers in a school or college to take attendance and give grades for students. The information should be kept in a centralized database. A teacher will see and can edit the information relevant to her current classes, and she can see her schedule. The students can see their own schedules, and their own attendance records. School administrators can generate comprehensive records.

Project 18: Hotel management

Create a web-based or mobile application which implements a hotel management system. Customers can log in an can make reservations through the system. The hotel manager can also add reservations for specific users. The hotel receptionist can track the current number of available rooms, check in and check out customers from the hotel rooms.

Project 19: 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 20: 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 21: 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 22: Online crime report app

Create a web-based or mobile application that can manage online crime reporting and provide easy access to public and police departments. People can register complaints online at any time. The user can request and retrieve the number of crimes, type of crimes, the locations of the crimes and so on from the system.

Project 23: Mentor Me

Create a web-based or mobile application that can help people learn the place. For instance, if the person is following dietary rules because of personal choice or religious reasons, it might be hard for him/her to find good vegan/vegetarian restaurants. People interested using this software should register their personal information. When a new user registers the system, he/she will search for a mentor that she/he can get good advice about the city, where to stay, where to eat, etc. In order to differentiate this system from a friend finding service, the system may restrict the search criteria. The user may not be allowed to search for someone who is not from the same city, who is not following the same dietary rules. A request should go to the candidate mentor. If the mentor accepts, they can send messages to each other. The system should provide some questions to be asked to mentors by mentees. After the meeting, the mentee and the mentor should evaluate each other. The system should recommend mentors to mentees based on the rating of the mentor.

Project 24: Creative card game

Create a mobile application that can create a new card game similar to Pokemon or Magic. You should create few characters and their upgraded versions. The characters should have different hit points, strengths, and weaknesses. A player can upgrade the character(s) if the player has enough points to upgrade that card.