Intern Assignment
Intern Assignment
org
---
Objective:
Create a web application that provides a suite of tools for code formatting, validation, conversion, and
visualization, similar to the functionalities offered by CodeBeautify.org. This project will help you gain
hands-on experience with web development technologies, including front-end and back-end development,
and understand the integration of various utilities.
Project Overview:
1. Code Formatter: Formats code for readability (supports languages like HTML, CSS, JavaScript, JSON,
XML).
2. Validator: Validates code against language-specific standards (HTML, CSS, JSON, XML).
3. Converter: Converts data between different formats (e.g., XML to JSON, CSV to JSON).
4. Visualizer: Visualizes data structures (e.g., JSON Viewer, XML Tree Viewer).
Technology Stack:
- Front-End: HTML, CSS, JavaScript (you may use libraries/frameworks like React or Vue.js)
- Back-End: Java with Spring Boot
- Code Formatting & Validation Libraries: Prettier, ESLint, JSONLint, etc.
- Conversion Libraries: xml2js, csvtojson, etc.
- Visualization Libraries: D3.js, Chart.js, etc.
Assignment Tasks:
1. Project Setup:
- Initialize a Git repository for version control.
- Set up the project structure with separate directories for front-end and back-end code.
2. Front-End Development:
- Design the user interface to be clean and user-friendly, similar to CodeBeautify.org.
- Implement input areas for users to paste or upload their code/data.
- Provide buttons for actions like "Format", "Validate", "Convert", and "Visualize".
- Display the output in a well-formatted manner.
3. Back-End Development:
- Set up a server using Java and Spring Boot.
- Create API endpoints for different functionalities:
- ‘/format‘ for code formatting
- ‘/validate‘ for code validation
- ‘/convert‘ for data conversion
- ‘/visualize‘ for data visualization
- Integrate code formatting and validation libraries.
- Handle file uploads and process them appropriately.
4. Implementation of Features:
- Code Formatter:
- Implement formatting for HTML, CSS, JavaScript, JSON, and XML.
- Validator:
- Validate HTML, CSS, JSON, and XML code.
- Converter:
- Convert between XML, JSON, and CSV formats.
- Visualizer:
- Create visual representations for JSON and XML data structures.
6. Documentation:
- Write a README file explaining the project, setup instructions, and usage.
- Comment the code appropriately for maintainability.
7. Deployment:
- Deploy the application to a cloud platform (e.g., Heroku, Vercel).
- Ensure the application is accessible via a public URL.
Deliverables:
Evaluation Criteria:
- Functionality: The website should correctly format, validate, convert, and visualize code/data.
- Usability: The interface should be intuitive and user-friendly.
- Code Quality: Code should be well-structured, commented, and follow best practices.
- Completeness: All specified features should be implemented.
- Documentation: Clear and comprehensive documentation should be provided.
---
Note: Feel free to ask for guidance or help at any stage of the project. Good luck, and enjoy the learning
process!