ℹ️ This is a fork of https://github.com/TruckMap/ChallengeJS.
This project is intended to:
- Touch on some of the technology we use on the web team at NOCD (Next.js, TypeScript, Tailwind CSS)
- Help us understand how you approach problems and handle tradeoffs between time, code quality, and utility
Do NOT copy a third party library or implementation. There's not much to review if the library does everything for you.
We are respectful of your time. If we’ve requested you do this challenge, we’ll pay you $200, regardless if you’re ultimately hired or not.
Build a real-time React.js chat room that allows users to log in and send each other messages and links. Links shared in the chat should include a preview of the link inline with the message (think Slack, iMessage, or Android Messages).
- Create a new Next.js app that uses Tailwind CSS and TypeScript.
- Use socket.io to add the real-time chat functionality.
- Use React hooks to store the application's state and process any client-side network requests.
- URL links shared in the chat should show an extracted metadata preview (page title, image, description/summary, etc. like Slack).
- In the client, show a list of all users who are currently logged in to the room.
- Include a
README
with any instructions for setup.
- To keep things simple, authentication can be email-only.
- Messages, users, or any other data can be stored in memory (persistence isn't required).
- Try to cap the project at 8 hours. It's okay if you don't finish the project 100%.
Email us:
- A link to your own git repository (you can share a private github repo with https://github.com/taylorbryant)
- A link we can use to test out the app (you can use Netlify, Vercel, etc.)
- A way to give you 💸💰 (your Venmo, PayPal, Cash, etc.)
After we receive your project, we'll provide constructive feedback and talk about next steps.