yet-another-list-app Tailwind Templates

Yet Another List App

Containerized shopping list application built with React, Node.js, and MongoDB, featuring a TypeScript-powered frontend with custom Tailwind CSS components.

YALO - Yet Another List App

This repository contains the source code for a Simple Shopping List App, created as part of my Web Development course at my university. The project demonstrates building a simple REST API for database interactions and a frontend interface for managing shopping lists. It is a monorepo project, meaning that the frontend and backend are in the same repository.

Table of Contents

Features

  • Add and Delete Shopping Lists: Users can create and remove shopping lists through the frontend
  • Add and Delete Items: Users can add and delete reusable items to a shopping list
  • Custom Components: All UI components are built from scratch using Tailwind CSS, avoiding heavy reliance on component libraries (for learning purposes)
  • TypeScript Integration: The project was developed with TypeScript to strengthen type safety and improve maintainability
  • Minimal Dependencies: Focused on learning Tailwind CSS and TypeScript by limiting external libraries
  • Containerized: The entire application stack is containerized using Docker for easy deployment and development

Technologies Used

Frontend

  • React with TypeScript
  • Tailwind CSS

Backend

  • Node.js (REST API)
  • Express.js

Database

  • MongoDB

Infrastructure

  • Docker & Docker Compose
  • Node.js Alpine (Frontend) and Node.js (Backend) base images

Prerequisites

Before running the application, ensure you have the following installed on your system:

Optional (for local development without Docker)

  • Node.js: Version 18 or higher
  • npm: Version 8 or higher
  • MongoDB: Version 5.0 or higher

Screenshots

Shopping List Overview

List View

Search and Filter Interface

Filter And Search

List Details View

List Details

Product Management Interface

Item View

Responsive Mobile Layout

Items In List Management View

List Item Management Interface

List Item Management

Getting Started

Running with Docker Compose

The application is fully containerized and can be started with a single command:

docker-compose up --build

This will start three containers:

  • Frontend: Available at http://localhost:3000
  • Backend: Available at http://localhost:5000
  • MongoDB: Running on port 27017

To stop the application:

docker-compose down

Top categories

Loading Svelte Themes