Skip to content

Build a full-stack web application using MongoDB, Express.js, React.js, and Node.js within 3 hours. Showcase your skills in backend API development, frontend UI design, and optional authentication implementation.

License

Notifications You must be signed in to change notification settings

Y0srgh/ieee-orange-int-2024-mern

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

IEEE x Orange Summer Internship 2024 - MERN Stack Technical Test

Welcome to the technical test for the Orange IEEE x Orange Summer Internship 2024! This test is designed to assess your proficiency in building a full-stack web application using the MERN stack (MongoDB, Express.js, React.js, Node.js). You have 4 hours to complete the tasks outlined below.

Prerequisites

  • Node.js and npm installed on your development machine.
  • Familiarity with MongoDB, Express.js, React.js, and Node.js is essential.
  • Basic understanding of RESTful API design and CRUD operations.
  • Ability to implement basic authentication and authorization mechanisms is a plus.

Tasks

  1. Backend Development (Node.js & Express.js)

    • Set up a Node.js server using Express.js.
    • Implement a MongoDB database connection.
    • Design and implement RESTful API endpoints for the following operations:
      • Create, Read, Update, and Delete (CRUD) operations for a resource (e.g., 'tasks', 'notes', 'users', etc.).
      • Ensure appropriate validation and error handling for API requests.
    • Folder Structure: Ensure backend code is organized in a backend folder.
  2. Frontend Development (React.js)

    • Create a React.js application.
    • Implement components for:
      • Listing all items from the backend API.
      • Adding a new item.
      • Editing an existing item.
      • Deleting an item.
    • Ensure the UI is responsive and user-friendly.
    • Folder Structure: Ensure frontend code is organized separately from backend in a frontend folder.
  3. Integration

    • Integrate the frontend and backend to create a seamless MERN stack application.
    • Test the integration thoroughly to ensure data flow and functionality.
  4. Authentication (Bonus Task)

    • Implement basic authentication using JWT (JSON Web Tokens).
    • Secure the API endpoints to require authentication for certain operations (e.g., create, update, delete).

Submission Guidelines

  • Fork this repository.
  • Clone your forked repository to your local machine.
  • Create a new branch named firstname-lastname.
  • Complete the tasks within 3 hours.
  • Commit your changes frequently with clear commit messages.
  • .gitignore: Include a .gitignore file in the backend folder to exclude unnecessary files from version control.
  • .env file: Add a .env file in the backend folder with the MongoDB connection URL (MONGODB_URI).

Evaluation Criteria

  • Functionality: Does the application meet the requirements specified?
  • Code Quality: Is the code well-structured, modular, and easy to understand?
  • UI/UX: Is the user interface intuitive and responsive?
  • Error Handling: Does the application handle errors gracefully?
  • Bonus Points: For implementing authentication and authorization.

Additional Information

  • Feel free to use any additional libraries or frameworks you deem necessary.
  • Use best practices for security and performance.
  • Academic Integrity: Cheating or obtaining information from sources like chatbots (e.g., ChatGPT) is strictly prohibited and will result in disqualification.

Resources

Time Allotment

You have 3 hours to complete the test. Please manage your time effectively to ensure you can finish all required tasks.

About

Build a full-stack web application using MongoDB, Express.js, React.js, and Node.js within 3 hours. Showcase your skills in backend API development, frontend UI design, and optional authentication implementation.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published