This repository contains a coding assignment that requires you to complete an application skeleton using Node.js. The assignment focuses on event-driven programming, utilizing Node.js's native EventEmitter API along with WebSocket communication through Socket.IO. You can use Node.JS docs, StackOverflow and other relevant documentation. Refrain from using LLMs to generate code. It is hard to assess your competense, if your code is generated by an LLM.
- Node.js (Native EventEmitter API)
- Socket.IO and Socket.IO-Client for real-time communication
- Jest for test-driven development
Before you begin, ensure you have the following installed:
- Git - For cloning and version control
- Node.js and npm - For running the application and installing dependencies
- Code Editor - Any modern IDE or text editor of your choice
Clone the repository and install the required dependencies:
# Install all dependencies
npm install- Review the codebase and locate all comments marked with
// TODO - Implement the required functionality according to the specifications in these comments
- Follow best practices for Node.js development and event-driven architecture
- Ensure your code maintains the existing structure while fulfilling all requirements
The application includes Jest test suites to verify your implementation:
Terminal 1:
# Start websocket server
npm start
# If you need to use a specific port, you can run:
# PORT=8888 npm startTerminal 2:
# Run all tests
npm test
# If you need to use a specific port, you can run:
# PORT=8888 npm testYour submission will be considered successful when:
- All tests pass successfully
- All
// TODOitems are properly implemented - The application functions as specified in the requirements
After completing the assignment, follow the submission instructions provided separately by the Telia recruitment team.
This coding assignment is property of Telia Company.