Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/reijjo/todo-with-everything
To Do List with everything that you can imagine
https://github.com/reijjo/todo-with-everything
bun docker expressjs github-actions pgadmin4 postgresql react redux sequelize typescript
Last synced: 19 days ago
JSON representation
To Do List with everything that you can imagine
- Host: GitHub
- URL: https://github.com/reijjo/todo-with-everything
- Owner: reijjo
- Created: 2024-10-31T10:51:20.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-22T18:44:20.000Z (about 2 months ago)
- Last Synced: 2024-11-22T19:36:56.526Z (about 2 months ago)
- Topics: bun, docker, expressjs, github-actions, pgadmin4, postgresql, react, redux, sequelize, typescript
- Language: TypeScript
- Homepage:
- Size: 8 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# To-do list
Just a basic to-do list
- Adding more features when feels like it
## Run project
### .env file
Rename the `envEXAMPLE` file to `.env` in `server`, `client` and `e2e-tests` folders
- Add the missing values for your project
### Frontend
`npm run dev` in the client folder
- localhost:5173
### Backend
`npm run dev` in the server folder
- localhost:3001
### PostgreSQL & pgAdmin
`docker compose up` in the server folder
- pgAdmin at localhost:5050
## Run tests
### Frontend
`npm run test` in the client folder
### Backend (there arent any tests yet)
`npm run test` in the server folder
### e2e-tests
`npm run test` in the e2e-tests folder
## Create Project (Bun)
### Frontend
- `bun create vite client` -> `React` -> `TypeScript + SMC` -> `cd client` -> `bun install`
- Modify `package.json` file:```json
"scripts": {
"dev": "bunx --bun vite",
"build": "vite build",
"serve": "vite preview"
},
```- Start frontend with `bun run dev`
### Backend
- `mkdir server` -> `cd server` -> `bun init`
- Install `express` -> `bun add express` -> `bun add -d @types/express @types/bun`
- Add to servers `package.json` file:```json
"scripts": {
"dev": "bun --watch run index.ts",
"clean": "rm -rf node_modules .bun bun.lockb dist"
},
```- Start server with `bun run dev`
## Frontend
### React Router
- Install React Router `bun add react-router-dom`
### Icons
- Add Lucide Icons `bun add lucide-react`
- Make a `Icon` component:```tsx
import { Suspense, lazy } from "react";import { LucideProps } from "lucide-react";
import dynamicIconImports from "lucide-react/dynamicIconImports";const fallback =
;interface IconProps extends Omit {
name: keyof typeof dynamicIconImports;
}export const Icon = ({ name, ...props }: IconProps) => {
const LucideIcon = lazy(dynamicIconImports[name]);return (
);
};
```- And use it in code like this:
```tsx
```
## Backend