---
description: How can I create a useful or commercial web-based application?
---

# Project 1: Web Application

## Timeline

\~25 Days (5 Weeks)

* 1 Week Ideation/Planning
* 3 Weeks Project Mode
* 1 Week Presentations/Wrap Up

## NYS Computing Standards

Due to the open-ended nature of projects in this course, they have the chance to cover all of the NYS Computational Thinking Standards. This project may especially highlight:

* **9-12.IC.6** Create accessible computational artifacts that meet standard compliance requirements or otherwise meet the needs of users with disabilities.
* **9-12.CT.9** Systematically test and refine programs using a range of test cases, based on anticipating common errors and user behavior.
* **9-12.CT.10** Collaboratively design and develop a program or computational artifact for a specific audience and create documentation outlining implementation features to inform collaborators and users.

## Project Focus Narrative

This project will look different depending on the language students are working in; if they are working in JavaScript or another front-end development language, it may be a website. Python, they may use a framework like Flask to create a website. If they are working in Java, or something similar, it may be an app that could be hosted online.

Regardless of the format, this web application should be useful/commercial - perhaps for a business real or imagined - and serve a clear function to the user. Because of this, emphasis should be placed on user interface/experience and general usability of the application - user journey should be a core piece. The app itself can be designed with or without a backend, based on the skills students are coming in with and/or wish to gain.

## Texts/Resources

\[TBD]

## Showcase/Skills

* **User Interface (UI) Design**: Demonstrating proficiency in designing visually appealing and user-friendly interfaces.
* **User Experience (UX) Design**: Creating a seamless and intuitive user journey within the application.
* **Accessibility**: UI and UX should include provisions for users with disabilities
* **Front-End Development**: Implementing client-side functionality using HTML, CSS, and JavaScript or other front-end frameworks.
* **Back-End Development** (_Optional_): Implementing server-side functionality using languages like Python with Flask, Java with Spring, or similar frameworks.
* **Database Integration** (_Optional_): Integrating a database to store and retrieve data if the project requires backend functionality.
* **Version Control**: Utilizing Git and Github for version control and collaboration.
* **Project Management**: Demonstrating effective project planning, organization, and time management skills.

## Project Requirements

* **Clear Functionality**: The application must serve a clear function or purpose to the user, whether it's a utility tool, productivity app, e-commerce platform, etc.
* **Commercial Viability**: Emphasize the potential commercial or real-world usefulness of the application, targeting a specific audience or industry.
* **User Journey**: Design and implement a smooth user journey within the application, considering user interactions and navigation flow.
* **Responsive Design**: Ensure the application is responsive and accessible across different devices and screen sizes.
* **Scalability**: Design the application architecture to be scalable and adaptable to future enhancements or features.
* **Documentation**: Provide comprehensive documentation including project requirements, design decisions, and user guides.
* **Testing**: Implement thorough testing procedures to ensure the functionality and usability of the application, including unit tests, integration tests, and user acceptance testing.
* **Deployment** (_optional_): Deploy the application to a web server or hosting platform for public access, if applicable and accessible.
* **Presentation**: Prepare a presentation or demonstration showcasing the application's features, design decisions, and technical implementation.

## Check-Ins and Deliverables

\[TBD]
