Welcome to the Full-Stack Developer challenge. You will build a scalable system starting from a simple Todo app using Raw SQL and graduating to a complex E-commerce platform using TypeORM.
- Backend: NestJS
- Database: PostgreSQL (using
pgdriver for Raw SQL) - Frontend: React (Vite)
- Styling: Tailwind CSS + Radix UI
- Validation: Zod
- Language: TypeScript
- Variables/Functions:
camelCase(e.g.,fetchTodos). - Classes/Interfaces:
PascalCase(e.g.,TodoService). - Documentation: Use TSDoc for all service methods.
- Types: No
any. Usez.inferfor types where possible.
To ensure you get feedback early, do not wait until the end of the Phase to push code. Follow this "Feature-by-Feature" workflow:
- Fork & Clone: Fork BaharaJr/todos and clone it locally.
- Phase Branch: Create a branch for the current phase:
git checkout -b phase-1-todo. - Draft PR: Immediately push an empty commit and open a Draft Pull Request in the original repo.
- Feature Development:
- Work on a single feature (e.g.,
POST /todosAPI). - Commit & Push: Once that specific feature works:
git add . git commit -m "feat: implement create todo endpoint with zod validation" git push origin phase-1-todo
- Work on a single feature (e.g.,
- Request Review: Drop a comment in the PR: "Finished the Create API, ready for review." and BaharaJr as a reviewer
- Repeat: Continue this for the List, Update, and Delete features.