diff --git a/src/components/layout/nav-links.json b/src/components/layout/nav-links.json index d408e0f..f3914d7 100644 --- a/src/components/layout/nav-links.json +++ b/src/components/layout/nav-links.json @@ -1,6 +1,8 @@ [ { "label": "About", "href": "/#about" }, + {"label": "Problem-Statement", "href": "/problem-statement"}, + {"label": "Submission Guidelines", "href": "/problem-statement#submission-guidelines"}, {"label": "Register", "href": "/#register"}, {"label": "FAQs", "href": "/faq"}, diff --git a/src/content/problemstatement/a1.md b/src/content/problemstatement/a1.md new file mode 100644 index 0000000..3a15ffe --- /dev/null +++ b/src/content/problemstatement/a1.md @@ -0,0 +1,13 @@ +--- +Number: 1 +heading: "Personal Finance Tracker" +para: "Design a personal finance tracker that helps users manage their income, expenses, savings, and investments. The application should include: +" +item: +- { name: "Income and Expense Tracking: Allow users to input their income and expenses, categorize them (e.g., Rent, Utilities, Groceries), and set monthly budgets." } +- {name: "Expense Prediction: Predict monthly expenses based on historical data using basic machine learning algorithms." } +- {name: "Reports and Analytics: Visualize the data with charts (pie charts for categories, line graphs for expenses over time). Provide insights like spending trends." } +- {name: "Export Options: Allow users to export data to CSV or PDF for tax filing purposes." } + +--- + diff --git a/src/content/problemstatement/a2.md b/src/content/problemstatement/a2.md new file mode 100644 index 0000000..3f7cbe9 --- /dev/null +++ b/src/content/problemstatement/a2.md @@ -0,0 +1,17 @@ +--- +Number: 2 +heading: "Task Management and Time Tracking App" +para: "Develop a task management and time tracking application that helps users manage their projects, tasks, and time spent on different activities. The application should include:" +item: +- name: "Time Tracking: Track the time spent on each task and generate weekly or monthly reports." +- name: "Task Management: Create, edit, delete, and organize tasks into projects. Set priorities and deadlines." +- name: "Pomodoro Timer: Integrate a Pomodoro timer to help users stay productive. Notify users when a work session ends and when it’s time for a break." +- name: "Task Reminders: Implement notifications to remind users of upcoming deadlines." +- name: "Reports and Analytics: Visualize the time spent on each task and project using graphs or pie charts." + + +--- + +- [1. https://www.youtube.com/playlist?list=PLQMs5svASiXMUlkVnxPGWz9qoC2YOO9OV](https://www.youtube.com/playlist?list=PLQMs5svASiXMUlkVnxPGWz9qoC2YOO9OV) +- [2. https://www.youtube.com/playlist?list=PLP7UmEJ9z4mpi0JXcPS0VRK-7eFAfROZI](https://www.youtube.com/playlist?list=PLP7UmEJ9z4mpi0JXcPS0VRK-7eFAfROZI) +- [3. https://doc.qt.io/qt-5/](https://doc.qt.io/qt-5/) \ No newline at end of file diff --git a/src/content/problemstatement/a3.md b/src/content/problemstatement/a3.md new file mode 100644 index 0000000..320545f --- /dev/null +++ b/src/content/problemstatement/a3.md @@ -0,0 +1,17 @@ +--- +Number: 3 +heading: "Weather Dashboard with Alerts" +para: "Create a weather dashboard that provides real-time weather information and alerts based on user preferences. The application should include:" +item: +- name: "Weather Data: Display real-time weather data using a weather API (temperature, humidity, wind speed, etc.)." +- name: "Location Management: Allow users to add multiple locations (cities) and view weather data for each." +- name: "Alerts: Set up weather alerts for specific conditions (e.g., rain, snow, temperature thresholds)." +- name: "Forecast: Display weather forecasts for the next 5 days, including temperature and conditions." +- name: "User Preferences: Allow users to customize the units (Celsius/Fahrenheit), preferred weather conditions, and alert thresholds." + + +--- + +- [1. https://docs.vulkan.org/spec/latest/index.html](https://www.youtube.com/watch?v=snCp0TqrER4) +- [2. https://www.youtube.com/playlist?list=PLn3eTxaOtL2NH5nbPHMK7gE07SqhcAjmk](https://www.youtube.com/playlist?list=PLn3eTxaOtL2NH5nbPHMK7gE07SqhcAjmk) + diff --git a/src/content/problemstatement/a4.md b/src/content/problemstatement/a4.md new file mode 100644 index 0000000..9974bb5 --- /dev/null +++ b/src/content/problemstatement/a4.md @@ -0,0 +1,15 @@ +--- +Number: 4 +heading: "Photo Editor with Filters and Effects" +para: "Develop a desktop photo editor that lets users apply filters and effects to their images. The application should include:" +item: +- name: "Basic Editing Tools: Crop, rotate, resize, and adjust brightness/contrast." +- name: "Filters: Implement a set of predefined filters (e.g., black and white, sepia, vintage)." +- name: "Effects: Allow users to apply advanced effects like blur, sharpening, and vignette." +- name: "Layer Management: Enable users to work with layers, allowing multiple changes to be applied non-destructively." +- name: "Export Options: Let users save the edited images in different formats (JPEG, PNG, TIFF)." + +--- + +- [1. https://www.youtube.com/playlist?list=PLPaoO-vpZnumdcb4tZc4x5Q-v7CkrQ6M-](https://www.youtube.com/playlist?list=PLPaoO-vpZnumdcb4tZc4x5Q-v7CkrQ6M-) +- [2. https://learnopengl.com/](https://learnopengl.com/) diff --git a/src/content/problemstatement/a5.md b/src/content/problemstatement/a5.md new file mode 100644 index 0000000..7dae395 --- /dev/null +++ b/src/content/problemstatement/a5.md @@ -0,0 +1,18 @@ +--- +Number: 5 +heading: "Interactive Chess Game with AI Opponent" +para: "Develop an interactive chess game where a user can play against an AI opponent. The application should include:" +item: +- name: "Chessboard Interface: Display a functional chessboard with movable pieces." +- name: "Game Logic: Implement chess game rules (movement, check/checkmate, etc.)." +- name: "AI Opponent: Implement a basic AI that can make valid moves using a decision-making algorithm (e.g., minimax)." +- name: "Player vs. AI Mode: Allow users to play against the AI or another user." +- name: "Game History: Track and display the history of moves in a game." + +--- + +- [1. https://docs.oracle.com/javase/8/javase-clienttechnologies.htm](https://docs.oracle.com/javase/8/javase-clienttechnologies.htm) +- [2. https://openjfx.io/javadoc/16/](https://openjfx.io/javadoc/16/) +- [3. https://docs.oracle.com/javase/tutorial/uiswing/](https://docs.oracle.com/javase/tutorial/uiswing/) +- [4. https://docs.oracle.com/javase/tutorial/uiswing/components/index.html](https://docs.oracle.com/javase/tutorial/uiswing/components/index.html) +- [5. https://www.youtube.com/watch?app=desktop&v=9XJicRt_FaI](https://www.youtube.com/watch?app=desktop&v=9XJicRt_FaI) diff --git a/src/content/problemstatement/a6.md b/src/content/problemstatement/a6.md new file mode 100644 index 0000000..3a599f0 --- /dev/null +++ b/src/content/problemstatement/a6.md @@ -0,0 +1,16 @@ +--- +Number: 6 +heading: "Recipe Manager and Meal Planner" +para: "Design a desktop recipe manager and meal planner that helps users organize their recipes and plan meals for the week. The application should include:" +item: +- name: "Recipe Storage: Add, edit, and categorize recipes by ingredients, cuisine, and difficulty." +- name: "Meal Planning: Let users plan meals for the week, with automatic ingredient lists." +- name: "Shopping List: Generate a shopping list based on the meals planned for the week." +- name: "Nutritional Information: Display nutritional information (calories, protein, carbs, fats) for each recipe." +- name: "Recipe Sharing: Allow users to share recipes with others via email or social media." + + +--- + +- [1. https://www.youtube.com/watch?v=SmmHdxAw8wA)](https://www.youtube.com/watch?v=SmmHdxAw8wA) +- [2. https://docs.flutter.dev/)](https://docs.flutter.dev/) diff --git a/src/content/problemstatement/a7.md b/src/content/problemstatement/a7.md new file mode 100644 index 0000000..0f8d30e --- /dev/null +++ b/src/content/problemstatement/a7.md @@ -0,0 +1,16 @@ +--- +Number: 7 +heading: "Interactive 3D Object Viewer" +para: "Create a 3D object viewer that allows users to interact with 3D models of various objects (e.g., car, building, or product). The application should include:" +item: +- name: "Model Import: Support importing 3D models in standard formats like STL, OBJ, or FBX." +- name: "Interaction: Enable users to rotate, zoom, and pan the 3D object. Use mouse or touch gestures for interaction." +- name: "Shading and Materials: Apply realistic materials and textures to objects, including different shading models (Phong, Gouraud, etc.)." +- name: "Lighting Effects: Allow users to adjust lighting sources and observe the effects on the 3D object." +- name: "Annotations: Add the ability to place text annotations or highlights on the 3D model for specific features." + +--- + +- [1. https://www.geeksforgeeks.org/how-to-create-a-desktop-app-using-javascript/](https://www.geeksforgeeks.org/how-to-create-a-desktop-app-using-javascript/) +- [2. https://www.electronjs.org/docs/latest](https://www.electronjs.org/docs/latest) +- [3. https://www.youtube.com/playlist?list=PLC3y8-rFHvwiCJD3WrAFUrIMkGVDE0uqW](https://www.youtube.com/playlist?list=PLC3y8-rFHvwiCJD3WrAFUrIMkGVDE0uqW) diff --git a/src/content/problemstatement/a8.md b/src/content/problemstatement/a8.md new file mode 100644 index 0000000..a2c3ea7 --- /dev/null +++ b/src/content/problemstatement/a8.md @@ -0,0 +1,16 @@ +--- +Number: 8 +heading: "Visual Programming Environment for Image Filters" +para: "Create a node-based GUI for designing and applying image filters. The application should allow users to visually connect different nodes to build a custom image processing pipeline. The system should include:" +item: +- name: "Node Types: Include basic nodes for common image processing tasks such as blur, sharpen, grayscale conversion, edge detection, and color adjustments." +- name: "Node Customization: Allow users to configure each node’s parameters, such as filter strength, color balance, and kernel size, using sliders or input fields." +- name: "Node Connections: Enable users to connect nodes with simple drag-and-drop functionality to define the flow of image data." +- name: "Real-time Preview: Show the result of the processing in real time, updating the image as nodes are added or modified." +- name: "Undo/Redo: Implement undo and redo functionality to manage changes to the node graph." + +--- + +- [1. https://medium.com/@theprogramminggeek/unleashing-rust-crafting-a-simple-yet-powerful-desktop-app-e5ee6ac5795d](https://medium.com/@theprogramminggeek/unleashing-rust-crafting-a-simple-yet-powerful-desktop-app-e5ee6ac5795d) +- [2. https://github.com/linebender/druid](https://github.com/linebender/druid) +- [3. https://www.rust-lang.org/learn](https://www.rust-lang.org/learn) diff --git a/src/content/problemstatement/a9.md b/src/content/problemstatement/a9.md new file mode 100644 index 0000000..243bc06 --- /dev/null +++ b/src/content/problemstatement/a9.md @@ -0,0 +1,18 @@ +--- +Number: 9 +heading: "AI/ML Model Builder and Training Interface +" +para: "Create a node-based interface for building and training machine learning models. The application should allow users to build models by visually connecting different processing steps and training algorithms. The system should include: +" +item: +- name: "Node Types: Include nodes for data preprocessing (normalization, feature extraction), model layers (e.g., Dense, Convolutional, LSTM), and training operations (e.g., loss functions, optimizers)." +- name: "Model Visualization: Allow users to see a graphical representation of the model architecture, similar to how neural network layers are visualized in tools like Keras or TensorFlow." +- name: "Parameter Adjustment: Enable users to configure parameters for each node, such as the number of neurons in a layer or the learning rate for an optimizer." +- name: "Training and Testing: Allow users to input training data, initiate model training, and visualize performance metrics (e.g., accuracy, loss) in real time." +- name: "Export/Import Models: Allow users to export the trained model in a format compatible with other frameworks (e.g., TensorFlow, PyTorch) and import pre-existing models to modify their structure." + +--- + +- [1. https://medium.com/@theprogramminggeek/unleashing-rust-crafting-a-simple-yet-powerful-desktop-app-e5ee6ac5795d](https://medium.com/@theprogramminggeek/unleashing-rust-crafting-a-simple-yet-powerful-desktop-app-e5ee6ac5795d) +- [2. https://github.com/linebender/druid](https://github.com/linebender/druid) +- [3. https://www.rust-lang.org/learn](https://www.rust-lang.org/learn) diff --git a/src/content/problemstatement/a91.md b/src/content/problemstatement/a91.md new file mode 100644 index 0000000..a1cd58d --- /dev/null +++ b/src/content/problemstatement/a91.md @@ -0,0 +1,16 @@ +--- +Number: 10 +heading: "3D Data Visualization Dashboard" +para: "Develop a 3D data visualization dashboard that allows users to visualize complex data in 3D space (e.g., financial, scientific, or geographic data). The application should include:" +item: +- name: "Data Input: Import data in formats such as CSV, JSON, or directly from an API." +- name: "3D Plotting: Plot data points in a 3D space, representing different dimensions of the data (e.g., x, y, and z axes)." +- name: "Interactive Controls: Allow users to interact with the visualization by rotating, zooming, and panning to explore the data." +- name: "Color Mapping and Grouping: Use colors or shapes to categorize and distinguish different data groups or ranges." +- name: "Dynamic Updates: Implement real-time data updates and transitions, with the ability to visualize changes over time." + +--- + +- [1. https://medium.com/@theprogramminggeek/unleashing-rust-crafting-a-simple-yet-powerful-desktop-app-e5ee6ac5795d](https://medium.com/@theprogramminggeek/unleashing-rust-crafting-a-simple-yet-powerful-desktop-app-e5ee6ac5795d) +- [2. https://github.com/linebender/druid](https://github.com/linebender/druid) +- [3. https://www.rust-lang.org/learn](https://www.rust-lang.org/learn) diff --git a/src/pages/problem-statement.astro b/src/pages/problem-statement.astro new file mode 100644 index 0000000..67ce4fa --- /dev/null +++ b/src/pages/problem-statement.astro @@ -0,0 +1,260 @@ +--- +import Layout from '../layouts/Layout.astro'; +import Card from '../components/Card.astro'; +import Nav from '../components/layout/Nav.astro'; +const props = Astro.props + const accordionContent2 = await Astro.glob("../content/problemstatement/*.md"); + var links = await Astro.glob("../content/problemstatement/*.md"); +--- + + + + + + +
+
+
+

Problem Statements

+

The participants can pick any one of the given problem statements for their submission for the competitions. In each of the ideas, the minimum requirements that are to be met are written, and the participants are also free to add more features that they see fit for the topic.

+
+
+ { + accordionContent2.map((item, index)=>{ + // const Content = item.Content; + return( +
+
+

{index + 1} . {item.frontmatter.heading}

+ + + +
+
+ {/* */} +

{item.frontmatter.para}

+ {item.frontmatter.item && ( +
    + {item.frontmatter.item.map((p:any, index:number) => ( +
  • + {/* {index+1}{". "} */} + {/* */} + {p.name} + {/* */} +
  • + ))} +
+ )} +
+
+ )}) + } + +
+
+
+

Submission Guidelines:

+
+

Follow the following steps for creating your submission:

+
    +
  1. Create a zip archive in the following format <Problem Statement Number>_<Your First Name>.zip. For example, If your name is Diptangshu Dey, and you have attempted the Interactive 3D Object Viewer Problem, your submission should be named “7_Diptangshu.zip”. 
  2. +
  3. Inside the archive, Include the instructions to run your application, and the steps to install the software required for the same. 
  4. +
  5. Alongside the installation instructions, create a folder with the name “Submission”, and the actual code of your application should be placed inside this folder. 
  6. +
+

Your submission file structure should look like this:

+

7_Diptangshu

+

|   Installation_Instructions.md

+

|---Submission/

+

     |   <Project Files>

+
+
+
+
+ +
+ + + + + + + + + + + +
\ No newline at end of file