An open API service indexing awesome lists of open source software.

https://github.com/akalanka47000/tasklist

A simple todo list demonstrating the full power of the MERN Stack when used alongside state of the art tools and technologies
https://github.com/akalanka47000/tasklist

nodejs react turborepo

Last synced: 30 days ago
JSON representation

A simple todo list demonstrating the full power of the MERN Stack when used alongside state of the art tools and technologies

Awesome Lists containing this project

README

        

# Task List

This is a [Turborepo](https://turbo.build/repo) designed to house all components of this advanced tasklist

## [API Documentation](https://documenter.getpostman.com/view/32343835/2sAYkKGcHH)

## Quick Setup (With Docker)

- Run `docker compose up` to boostrap and spin a runtime environment
- Client - Available at http://localhost:5173
- Server - Available at http://localhost:8080

## File Structure

- client - Frontend React application for TaskList
- packages - All shared packages
- config-eslint - ESLint configurations
- constants - Common constants
- types - Common type definitions
- server - Backend service for TaskList
- commitlint.config.js - Commitlint configuration file
- lefthook.yml - Lefthook configuration file
- pnpm-workspace.yaml - Configures the workspaces so that PNPM can work properly
- tsconfig.json - Base TypeScript configuration file
- turbo.json - Turbo configuration file

## Prerequisites

- [Node](https://nodejs.org) (Version 18 or higher).
- You will need to create a `.env` at the root of every workspace and fill in the required keys. The services will not start without them.
- A [MongoDB](https://www.mongodb.com) and a [Redis](https://redis.io/) data source.

## Commands

- `pnpm install` - Installs all dependencies for all workspaces
- `pnpm dev` - Starts both client and server in dev mode
- `pnpm start` - Builds and starts both client and server
- `pnpm test` - Runs tests suites within both client and server however for readability it is better to execute this one workspace at a time

## Running migrations and seeders

- To run migrations - Navigate to the server workspace and run `pnpm migrate up` or `pnpm seed up`.

- To Rollback - Navigate to the server workspace and run `pnpm migrate down` or `pnpm seed down`

## Utilities

This turborepo has some additional tools already setup for you:

- [ESLint](https://eslint.org/) for code linting
- [Prettier](https://prettier.io) for code formatting