Project - Gigi-QiZhang/webdev-zhang-qi GitHub Wiki

Marathon Website

Project Description

Team Members:

  • Qi Zhang
  • Shiyu Wang

APIs: We plan to use 3 APIs in this project.

Description


In this project, we are going to make a web application for marathon. Since most of marathon websites are complicated and not mobile friendly, we plan to make a clean, free and mobile friendly web applications for all marathon athletes, organizations and volunteers to register and plan marathon events. Therefore, the potential human users for our application are:

  • Organizations
  • Athletes
  • Volunteers

Because the basic functions of this web applications will be posting events, registering events and sharing results, we will have domains such as:

  • Organization
  • Athlete
  • Volunteer
  • Events
  • Running Results
  • News
  • advertisements

Hence, for different users, they will need different functions:

  • Organizations will need functions to post events, edit events and delete events. Also, they will have ability to set up the capacity of athletes and volunteers. Moreover, they will be able to view athletes and volunteers’ profiles and be able to contact any or all of athletes and volunteers who applied their events.
  • For athletes, they will have their personal profile to track any events they joined or about to join. Also, they can see the results of their historical running events. And they can search and register any events posted by organizations.
  • Volunteers are similar to athletes that can search and register events which need them. Also they can see the results of the events. And they have their profile to show their past events and upcoming events.
  • After basic users, there will be administrators who have ability to ban users, events or organizations. They may also have ability to upload news, highlight events and add advertisements.
  • Moreover, visitors who haven’t register yet have limit functions to view events, news and advertisements.

So, the relations between human users and other users are connected by events:

  • Organization post events and provide some limitations.
  • Volunteers and athletes will be able to register these events after administrator check it.
  • Also, users will be able to contact each other by some methods.

Furthermore, the relationships between human and domains are similar: *Athletes and volunteers can register or cancel events *Organization can post, edit or cancel events *Administrators can verify events, ban users or events. *Everyone will be able to read news and advertisements.


Lastly, domain objects have relationships:

  • Many to many:
    1. Event have many athletes
    2. Event have many volunteers
    3. Athletes have many events
    4. Volunteers have many events
  • One to One:
    1. One event has one running results
  • One to Many
    1. One organization has many events
    2. One athletes have many running results