Giter Site home page Giter Site logo

thedoolist_client's Introduction

An expanded ToDo List

A ToDo List using React, TailwindCSS, and Vite.

Quick Start

npm install

npm run dev

Table of Contents

Features

Completed Feature Technology
✔️ SQL database PostgreSQL with Prisma ORM
✔️ Authenticatione passport
✔️ Data Validation Joi
✔️ Logging winston and morgan
✔️ Testing Jest
✔️ Error handling Centralized Error Handling
API documentation swagger-jsdoc and swagger-ui-express
✔️ Environment variables dotenv and cross-env
Security helmet
✔️ CORS cors
Compression gzip using compression
Docker support WIP
✔️ Linting ESLint and Prettier
✔️ Editor config: EditorConfig

Commands

Running locally:

npm run dev

Running in production:

npm start

Testing:

# Run Tests

Linting:

# run ESLint
npm lint

# fix ESLint errors
npm lint:fix

# run prettier
npm prettier

# fix prettier errors
npm prettier:fix

Project Structure

src\
 |--assets\         # Contains pictures, svgs, etc
 |--components\    # Multi-use components
 |--configs\            # Configuration related things such as routes
 |--features\    # Components made up of multi-use components, ie Navbar.
 |--hooks\         # Custom hooks
 |--layouts\       # Page Layout structure
 |--store\          # Houses Zustand stores
 |--utils\          # Utility classes and functions
 |--views\    # Technically pages
 |--App.jsx          # App Setup
 |--index.css        # TailwindCSS applies
 |--index.jsx       # Entry point

Current Routes

List of available routes:

Auth routes:
/auth/register - Register
/auth/login - Login\

Admin routes:
/admin - Creates user
/admin - Grab all users\

Error Handling

Linting

Linting is done using ESLint and Prettier. r.

To modify the ESLint configuration, update the .eslintrc.json file. To modify the Prettier configuration, update the .prettierrc.json file.

To prevent a certain file or directory from being linted, add it to .eslintignore and . prettierignore.

To maintain a consistent coding style across different IDEs, the project contains `.editorconfig

Contributing

Contributions are more than welcome!

License

MIT

thedoolist_client's People

Contributors

gmovillanueva avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.