This template provides a minimal setup for a Turbo Full Stack project. It includes the following packages:
- TypeScript
- Nest.js
- Prisma
- React
- Tailwind CSS
- Shadcn Components
- ESLint
- Docker Compose (Postgres, Redis)
This repository assumes you have Node v20+ installed. You can run the following commands to start the project:
# Start Postgres and Redis
docker-compose up -d
# Install dependencies
npm install
# Copy .env.example to .env
cp .env.example .env
# prisma generate and migrate
npx prisma generate && npx prisma migrate dev
# Start the mono-repo apps
npm run dev
The goal of this assessment is to evaluate your proficiency working across the full stack. You will be asked to complete a series of tasks that involve adding endpoints to the Nest.js API, updating the React front end, and implementing new features.
-
System Requirements:
- Ensure you have Node.js installed, preferably version 20, as it is required by the project.
- You may use any code editor of your choice (e.g., VSCode, Atom).
- Access to the internet and the ability to share your screen during the assessment.
-
Repository Setup:
- Please clone the repository from GitHub:
git clone https://github.com/thebrubaker/turbo-full-stack-assessment.git
- Navigate into the project directory:
cd turbo-full-stack-assessment
- Install the necessary dependencies:
npm install
- Start the application to ensure everything is set up correctly:
npm start
- Please clone the repository from GitHub:
-
During the Assessment:
- You are free to use any tools or online resources, including Google and AI assistance, to aid in your coding during the assessment.
- The tasks will be presented to you at the beginning of the call. They will involve:
- Nest.js API: Adding endpoints to the existing API.
- React Front End: Updating the React front end to consume the new API endpoints.
- New Features: Implementing new features in the React front end.
-
Screen Sharing:
- You will be required to share your screen throughout the assessment. Please ensure your internet connection is stable enough to support screen sharing without significant lag.
-
Interview Etiquette:
- Feel free to ask clarifying questions at any time.
- Discuss your thought process openly as you work through the tasks. This discussion is as important as the final code.
- You will have a chance to discuss and explain your solutions.
- We are interested in your approach and problem-solving strategies, so detailed explanations are encouraged.
- Feedback will be provided at the end of the session.
We look forward to seeing your coding skills in action. Good luck!