Term Project#

Objectives#

  • Apply and demonstrate the skills learned throughout the semester.

  • Gain experience in developing a functional web application.

  • Work collaboratively on a moderately complex project.

Project Overview#

You will work in groups to develop a web application that is useful for you and other users with similar interests.
Your app should not be just a static webpage but should include interactive features and database integration.

You may draw inspiration from existing web or mobile apps, but your implementation must be original in design and functionality.
While learning from online tutorials is encouraged, submitting an unmodified tutorial project is not allowed.

All team members must actively contribute to the shared codebase, and participation will be verified via Git repository logs.


Project Requirements#

Your web application must include the following features:

Core Features (70%)#

  1. Complete & Realistic Features (10%)

    • Your app should mimic essential features found in similar real-world apps.

    • Example: A shopping app must include checkout and payment functionality.

  2. User Authentication (10%)

    • Implement a login/logout system for multiple users.

  3. Cloud Database (10%)

    • Store and manage data using Firebase Cloud Firestore with at least two collections.

  4. Private & Shared Data (10%)

    • Store personalized user data (only visible to the owner).

    • Include shared data (accessible by all users).

    • Example: An e-commerce app should allow users to see their order history and public product listings.

  5. Database Operations (10%)

    • Implement CRUD operations (Create, Read, Update, Delete) in Cloud Firestore.

  6. Modern Frontend Framework (10%)

    • Use Vue.js or a similar JavaScript framework.

  7. Enhance the visual design of your web app using styling techniques.(10%)

    • This can be achieved through custom CSS or by using a UI framework such as Vuetify or Bootstrap.

    • Ensure the app has a clean, professional, and responsive design.

  8. Git Repository (-10% penalty if missing)

    • Maintain your project in your GitHub repository.

Weekly Progress via Git Logs (10%)#

  • This project is larger than individual assignments and requires consistent progress.

  • Your Git commit history will be reviewed to ensure regular contributions.

In-Class Presentation (10%)#

  • Each group must present their project to the class. All team members must participate.

Project Repository Setup#

Each group should create one GitHub repository using this GitHub Classroom link.
All team members must collaborate within this repository.


Deliverables & Timeline#

Deliverable

Description

Deadline

Project Proposal(10%)

Submit a one-page proposal outlining your web app idea. The proposal should include:
- App Overview: The overview of the web application, what problems/tasks being addressed, what is unique about your web app, who are the potential users, and any other relevant information.
- Team Responsibilities: Task distribution among group members (all must contribute to all aspects).
- Database Design: Rough design of your database “tables” and the details of each table. For now, describe the details of your DB design as if you would implement them using relational databases (similar to what you learn in CIS333 or CIS353). In reality, these “tables” will be implemented as Cloud Firestore collections/documents.
- External Services: Additional third party web-services that you plan to incorporate into the project (if any).

02/28

Application Development & Deployment(80%)

Deploy the web app on a publicly accessible website. Submit the following on Blackboard:
- App URL (e.g., GitHub Pages or another hosting service).
- If your web app requires special accounts (for instance, admin account) include the userid(s) and password(s).
- Git Repository Link.

04/23

In-Class Presentation(10%)

Each group must present their project in class.
- The presentation should cover the app’s purpose, key features, technologies used, and a live demonstration.
- All team members must participate.

04/23