Coding Projects


Application Development Design Studio I

PSU Eats

See this code on Github

Overview:
This Java-based application, developed in the IntelliJ IDE, is designed to solve a common problem: deciding where to eat. Using the model-view-controller (MVC) design pattern, the app maintains organized and modular code. It features an intuitive user interface for exploring and filtering restaurant options on Penn State's University Park campus, providing an efficient solution to a universally relatable challenge.

Key Features:

  1. Graphical User Interfaces (GUIs):

    • Main Interface: Displays a comprehensive list of restaurants and filter options, allowing users to narrow their search based on criteria such as location (on-campus or downtown) or delivery availability.

    • Details Interface: Offers detailed information about a selected restaurant, including:

      • Rating

      • Location

      • Website

      • Operating hours

      • Options to make alterations or updates to restaurant details.

  2. Filtering Functionality:

    • Users can apply filters to find restaurants that meet their preferences, streamlining the decision-making process.

  3. Database Integration:

    • The app leverages a database containing restaurant information specific to Penn State University Park, ensuring up-to-date and accurate data for users.

  4. Scalability:

    • While designed for Penn State, the application can be easily adapted to other campuses or locations, addressing the universal struggle of deciding where to eat.

Development Process:

  • Problem Identification:
    The project began with identifying a relatable problem: the difficulty of choosing where to eat, especially on a busy college campus.

  • Solution Ideation:
    The app was envisioned as a practical tool to simplify the decision-making process, tailored to the specific needs of Penn State students and visitors.

  • Implementation:

    • The MVC design pattern ensured clear separation of concerns, enhancing code organization and maintainability.

    • The GUIs were designed to prioritize usability and visual clarity, ensuring a smooth user experience.

Outcome:
The completed application is a user-friendly, efficient solution to a common problem, demonstrating proficiency in Java programming, GUI design, and software architecture. It provides a scalable framework for restaurant exploration and decision-making, with potential for expansion to other locations or additional features.

Personal Website

Overview:
This project is a personal portfolio website designed to showcase my work, skills, and personal information. Built using HTML and CSS, the website integrates interactive elements and dynamic content to provide a user-friendly and engaging experience. The project is hosted on GitHub to ensure accessibility and version control.

Key Features:

  1. Personal Information:

    • The website serves as a hub for sharing details about my background, skills, and projects.

  2. Sidebar with Interactive Elements:

    • Contact Form: A dedicated space for visitors to contact me directly from the website.

    • Dynamic Joke Feature: A random joke is fetched from an external API and displayed in the sidebar. The joke refreshes each time the page is reloaded, adding an element of fun and interactivity.

  3. Frontend Design:

    • Developed using HTML and CSS to create a clean, professional, and visually appealing interface.

    • The design emphasizes simplicity and responsiveness, ensuring compatibility across devices.

  4. GitHub Repository:

    • The website is hosted on GitHub, making it easily accessible for review and feedback.

    • The repository showcases the codebase, providing an opportunity for others to explore and learn from the implementation.

Outcome:
The project demonstrates my ability to design and develop a functional, aesthetically pleasing website. It highlights proficiency in web development with a focus on usability and dynamic content integration. The GitHub repository not only serves as a platform for showcasing my work but also allows me to maintain and update the project as needed.

My Website

My Code

Blog Project

Overview:
This project involved designing and developing a dynamic blog website using HTML, JavaScript, and CSS, supported by a backend infrastructure. The website allows users to create accounts, post blogs, and interact with content through likes and comments. The application is hosted locally and integrates a MongoDB database to store user information and blog data.

Key Features:

  1. User Authentication:

    • Users can register and log in to their accounts securely.

    • The authentication system ensures personalized access for each user.

  2. Blog Management:

    • Logged-in users can create, edit, and delete blog posts.

    • Each blog post is stored in the backend MongoDB database for persistence.

  3. Interactive Features:

    • Users can like blog posts, encouraging engagement within the community.

    • Comment functionality allows users to interact and share their thoughts on posts.

  4. Frontend Design:

    • The website is built with HTML, CSS, and JavaScript, creating an intuitive and visually appealing user interface.

    • Responsive design ensures compatibility across various devices.

  5. Backend Integration:

    • A MongoDB database is used to store and manage user credentials, blog posts, likes, and comments.

    • The local hosting environment ensures seamless data flow between the frontend and backend.

Implementation Details:

  • Frontend:
    HTML, CSS, and JavaScript were used to create the user interface, emphasizing user experience and ease of navigation.

  • Backend:

    • A Node.js environment was set up to manage server-side operations.

    • MongoDB was used for its flexibility and scalability in storing complex data structures.

  • Hosting:
    The website is hosted locally, using a server environment to run and test the application efficiently.

Outcome:
The completed project demonstrates proficiency in full-stack web development, integrating a modern frontend with a robust backend. It serves as a practical, interactive platform for users to share content, fostering community engagement and showcasing a well-rounded skill set in web development.

Android Studio Application

My Closet

Problem Statement:
College students often find themselves needing specific clothing items for events such as formals, career fairs, Halloween, and more. These needs often arise at the last minute, leading to stress, overspending on online purchases, or struggling to find suitable options in local stores. This results in wasted time, unnecessary expenses, and often, a lack of satisfactory solutions.

The Solution:
My Closet is a mobile application designed to let users shop within their community to rent or buy the clothing items they need. It promotes sustainability and provides a cost-efficient alternative for individuals who may not want to purchase new items for one-time use.

Implementation:
This application was conceptualized and developed as part of the Human-Centered Design for Mobile Computing class by my partner and me. The development process began with the problem statement and ideation of the solution.

  1. Design Process:

    • We started with sketched prototypes to visualize our concept.

    • These prototypes evolved into digital designs implemented using Android Studio.

  1. Features:

    • Screens and Navigation: We created multiple screens, including a homepage, item details, and a "My Orders" page.

    • Persistent Data: Items listed in the app are stored using persistent data. When an item is purchased, it is added to an array that can be viewed on the "My Orders" page. Items can also be deleted, updating the array accordingly.

    • Interactivity:

      • Functional buttons and pop-ups confirm user actions (e.g., verifying purchases or deletions).

      • A menu provides easy navigation across the app.

    • Aesthetic Design: The app features a clean, user-friendly interface, focusing on usability and visual appeal.

  2. Tools and Assistance:

    • We used Android Studio for development and generative AI as a copilot to assist with formatting and functional implementation.

    • Throughout the project, we applied principles of UX design and mobile computing to ensure a well-rounded and effective prototype.

Outcome:
The result is a functional, aesthetically pleasing prototype that demonstrates our skills in user experience design and mobile app development. My Closet offers a practical, community-driven solution for clothing needs, showcasing our understanding of both technical and design challenges.

Early Design Sketches