Skip to content

Commit

Permalink
Initializes the app
Browse files Browse the repository at this point in the history
  • Loading branch information
AdoshSingh committed Feb 13, 2024
0 parents commit 474588c
Show file tree
Hide file tree
Showing 35 changed files with 19,851 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
./node_modules
Dockerfile
.dockerignore
docker-compose.yml
28 changes: 28 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
module.exports = {
env: {
node: true,
commonjs: true,
es2021: true,
},
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
],
overrides: [
{
files: ['*.ts', '*.tsx'],
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaVersion: 2021,
sourceType: 'module',
},
plugins: ['@typescript-eslint'],
},
],
parserOptions: {
ecmaVersion: 2021,
sourceType: 'module',
},
rules: {
},
};
36 changes: 36 additions & 0 deletions .github/workflows/todo-nuxt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Todo Nuxt App CI

on:
push:
branches: [ main ]
paths:
- '**'
pull_request:
branches: [ main ]
paths:
- '**'

jobs:
build-and-test:
runs-on: ubuntu-latest

steps:
- name: Checkout Repository
uses: actions/checkout@v2

- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '20.x'

- name: Install Dependencies
run: |
npm install
- name: Lint
run: |
npm run lint
- name: Run Tests
run: |
npm test
24 changes: 24 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Nuxt dev/build outputs
.output
.data
.nuxt
.nitro
.cache
dist

# Node dependencies
node_modules

# Logs
logs
*.log

# Misc
.DS_Store
.fleet
.idea

# Local env files
.env
.env.*
!.env.example
13 changes: 13 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
FROM node:20-alpine

WORKDIR /usr/src/app

COPY package*.json .

RUN npm install

COPY . .

RUN npm run build

CMD [ "npm", "run", "start" ]
55 changes: 55 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Todo List App

## Overview
This todo app offers a minimalist approach to task management, focusing on core functionalities that allow users to add, remove, and mark tasks as done. Designed with simplicity and ease of use in mind, it provides a clutter-free environment to help users concentrate on their tasks without unnecessary features. Whether it's for daily chores, work assignments, or personal goals, the app facilitates a straightforward way to keep track of tasks, ensuring users can effectively manage their to-dos and stay organized.

![Alt Text](https://i.imgur.com/Vi4JNhm.png)

## Table of contents
- [Features](#features)
- [High level design](#high-level-design)
- [Technologies Used](#technologies-used)
- [Tech Stack](#tech-stack)
- [Installation](#installation)

## Features

**Add Todo:** Users can easily add tasks to their list, providing a simple way to keep track of new responsibilities or ideas.

**Remove Todo:** Allows for the deletion of tasks, ensuring users can keep their list clean and focused on current priorities.

**Update Todo:** Offers the flexibility to modify task details, enabling users to adjust deadlines, descriptions, or priorities as needed.

**Mark Done:** Users can mark tasks as completed, providing a satisfying way to track progress and maintain motivation by visually acknowledging accomplishments.

## High Level Design
![Alt Text](https://i.imgur.com/YtRFVzB.png)

The Todo-List-Nuxt-App delivers a streamlined task management experience, powered by Nuxt.js for the frontend, and a robust Backend API connected to a MySQL database. Utilizing a clear schema, the app enables users to effortlessly manage their tasks with CRUD operations. Interactions from the frontend trigger API calls, ensuring the UI is consistently synchronized with the backend, thus providing a dynamic and responsive environment for the users to track and update their tasks in real time.

## Technologies Used

- **Database:** [MySQL](https://www.mysql.com/)
- **Backend + Frontend:** [Nuxt.js](https://nuxt.com/)
- **Styling:** [TailwindCSS](https://tailwindcss.com/)

## Tech Stack

**Database:** Database: The app uses MySQL for data storage, providing a secure and efficient way to manage tasks and user information. MySQL's reliability supports the app's core functionalities, ensuring smooth operation and data integrity.

**Backend + Frontend:** The application is built with Nuxt.js, integrating both frontend and backend seamlessly for a unified development experience. This is complemented by Tailwind CSS for styling, offering a utility-first approach that enables rapid and responsive design implementations.

### Prerequisites
- Docker

## Installation

Run locally:
```bash
git clone https://github.com/devzero-inc/to-do-list.git
cd to-do-list
docker compose up
```
App will be running on ```PORT:3000``` -> [http://localhost:3000/](http://localhost:3000/)

Now just go to [http://localhost:3000/](http://localhost:3000/) and explore the application.
Loading

0 comments on commit 474588c

Please sign in to comment.