Skip to content

diegoaltoworks/user-profiles-technical

User Profiles Technical

This is a technical task bootstraped with the Docker starter Turborepo

Using this app

Run the following command:

npm install
npm run dev

This will build and run both apps in parallel.

Preview

Preview

What's inside?

This is the stack

Apps and Packages

  • @repo/web: a Next.js app
  • @repo/api: an Fastify server with tRPC
  • @repo/ui: a React component library with shadcn/ui
  • @repo/logger: Isomorphic logger (a small wrapper around console.log)
  • @repo/schema: central Zod schema (shared with other packages)
  • @repo/database: Drizzle schema and devops with Turso SQLlite DB.
  • @repo/eslint-config: ESLint presets
  • @repo/typescript-config: tsconfig.json's used throughout the monorepo for consistentcy
  • @repo/jest-presets: Jest configurations (but I would switch to vitest for an easier life)

🚀 100% TypeScript.

Docker

It should (will) be as simple as docker compose up but there's a ts issue with trpc after downgrading from @next to @10 which needs to be resolved first.

Other Utilities

This Turborepo has some additional tools already setup for you:

  • Husky, for lovely git hooks
    • pre-commit: lint and format all staged files
    • pre-push: lint and test (abort if fails)
  • CommitLint and lint-staged to keep things tidy
  • DotEnvX, the better dotenv
  • TypeScript for static type checking
  • ESLint for code linting
  • Jest test runner for all things JavaScript (staring at vitest tho 👀)
  • Prettier for code formatting

About

This was an interview technical challenge I decided to keep

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors