Introduction
API (Application Programming Interface) is a way for an information system to communicate with other systems. It works similarly to a browser request of a webpage, but instead of the webpage a server returns a formatted data.
For example, if your system needs to know the current weather conditions, you can retrieve this information from a weather API. OpenWeatherMap is an example of a weather API (
https://openweathermap.org/current
). This API supports different parameters to specify the data you request.
A request like this one will return a current weather condition for the given ZIP in JSON format. You can test it in your browser. Appid parameter serves to control who is accessing the data (the ID in the given example is used for test purposes). You may also read the API docs for this API to get an idea about the structure of the data and the list of acceptable parameters.
Directions
Based on the topic of Course Project, find a relevant public API and submit the following information about it:
For example, if you use an API that returns a list of geographical coordinates, you may import them to Google Map (
https://www.google.com/earth/outreach/learn/visualize-your-data-on-a-custom-map-using-google-my-maps/
).
If you are familiar with Excel or other statistical software, you can produce either a meaningful chart or a simple statistical analysis of the data. For example, if your data consist weather information for 30 days, you can compute an average weather, or draw a chart of the weather for that period.
Most likely, you will need to convert a JSON data into CVS (or Excel) you can always use tools like this JSON Convertor (
https://data.page/json/csv
). Note that not every object can be converted into a meaningful spreadsheet. Most likely you will want to have a list [] on the top level of the JSON structure, in order for each of its elements to be converted to a row.
COURSE PROJECT OVERVIEW
The course project consists of a series of interconnected weekly assignments that culminates in a final
project submission (Unit 7) and a presentation (Unit 8). Students will use the business case scenario
below to complete the project and follow the deliverable schedule included at the end of this document.
BUSINESS CASE
A healthy lifestyle advocacy group is aiming to build a bike sharing system within a medium size
metropolitan area. The group has signed a contract with a company to provide the bike sharing
technology and hardware (bike stations, bikes, network equipment, a server, and bike sharing software
that automates the process of checking out and returning bicycles, and billing customers).
DOCKING STATIONS & BIKES
Image source
The docking station provides a limited number of bike parking spots, and is characterized by its location,
bike capacity, and by real time number of bikes parked. Docking stations have computers running on
them, credit card reader, and a networking module which allows it to be connected to the Internet. The
fleet of bikes has also been purchased.
FUNCTIONING OF THE SYSTEM
There are two ways a user can get access to the system:
1) Using her annual subscription ($70)
2) Buying day pass ($5)
Every ride under 30 minutes is free. User is charged $1 dollar for a ride between 30 and 1 hour, 3 dollars
for rides between 1 hour and 2 hours and a flat rate of 7 dollars for any ride over 2 hours. The users who
haven’t returned a bike within 10 hours are billed with a $50 fine.
REGISTRATION PROCESS
A user can register online or purchase a day pass at the station.
1
SCHEDULE
Unit
Title
Introduction
Description
Points
Unit 1
The summary of
the business
processes with the
rationale for the
new system
development
The advocacy group as hired an IS
developer company to develop an
information system to support
operations of the bike sharing system.
Submit a two-page summary with the
description of each business process, which will
include:
40
The description of
the IS architecture,
the list of the
software and
database
components, and
hardware
architecture
The IS designed for the case should
connect docking stations, manage user
registrations and billing. We learned
about different architecture models (e.g.
centralized, distributed, and cloud).
Unit 2
See the business case for detailed
description. First the developer company
analyzed operational business processes
of the bike sharing systems (bike renting,
user management and billing) to produce
a summary of those processes, and
describe how the information system will
be able to automate them.
1) brief description of what or who (hardware
or user) will initiate it;
2) what the process should do.
3) Explain what would be the role of the
information system to support this process.
In a Word document:
40
1. Propose the IS architecture for the IS for
the bike sharing system. Explain the
rationale behind the choice (between
half of a page and a page);
2. list all the software, and database, and
hardware components;
3. draw a architecture of the system
showing the components using Word
shapes, use arrows to show business
process and major data flow between
2
them.
Unit 3
Security risks
summary
Any IS functions under security risks.
These risks are especially critical when a
system is distributed and connected to
public networks.
Provide a one page security risks summary for
proposed IS which should include:
40
1. main security risks and the potential
consequences;
2. methods or design strategies to
minimize each of those risks.
Recommend a brief (one paragraph) structure
of information security management that would
include personnel roles with their core duties to
manage information security.
Unit 4
Designing and
implementing the
software
component
Designing and coding the entire software
system for the given case is a complex
task. For this project, you will be asked to
design and implement a small
component of the information system
functionality.
Submit a Word document that would include:
40
1) Flow chart of the billing schema after
completion of the ride, which will
include including the subscription status
check, and the price policy provided in
the case description.
2) Assuming that subscription_status == 1
is an annual subscriber and
subscription_status == 2 is a daily
subscriber for the day stored in the
variable day_subscribed and the current
day stored in a variable now,
pickup_time and drop_off_time are the
times in minutes, write a Python code
to describe subscription check and the
3
price calculation for a single ride.
Unit 5
Business data
architecture / data
models
Any IS system operates with data. Data
can have different types
Design data structures (variables, lists, objects)
that will describe the registration and billing
processes.
40
Submit a Word document with the data
structures IS will need to have in order to
support those processes. For example, one of
the structures should describe a list of
registered users with their statuses and other
parameters that you will find important.
Unit 6
Unit 7
Design of the
relational database
structure
Data in IS can be stored in the database.
Relational databases are the most
commonly used type of databases.
In a Word document:
Development and
implementation
plan
In this unit, you will finalize your course
project by creating a development and
implementation plan.
Final submission:
40
1) create a table(s) to describe current and
historical rides;
2) write SQL statements that would allow:
a. to compute the average ride
duration for a given user;
b. number of bikes check out at
the given bike station;
c. retrieve the list of all currently
active users.
60
Create a development and implementation plan
by gathering key information from each of the
project components you developed this term
and summarizing it in the format outlined
4
below. Note that you should incorporate faculty
feedback when developing your plan.
Submit a 1-2 page plan describing your system
and the development and implementation steps
that the company will need to take to in order
to successfully complete the project. Your
summary should include the following
elements:
Unit 8
Course project
presentation
This week, you will share your Course
Project with the class by presenting it
within the discussion forum.
System Overview—Description of the
system and the process(es) it supports
System Organization—Summary of the
system’s structure and components
(software and hardware)
Security—Summary of system security
requirements and/or features
Major Tasks—Annotated list of each
major task or step required for the
implementation of the system
Project presentation
50
1. Record a video of yourself briefly
explaining the steps you have taken in
this project; and why did you chose the
solutions you did; and what are the
steps that will needed to be taken to
complete the IS development. The
video should be between 7-10 minutes
long.
5
2. Upload your video on YouTube with
enabled closed captions (CC)).
3. Write one to three sentences for each
component of the project to explain the
key points presented in your video.
Post the link to the video you have created
along with the written summary.
Total
350
6