Skip to content

Commit

Permalink
Implementando api e pagina principal de metas
Browse files Browse the repository at this point in the history
  • Loading branch information
felipeclarindo committed Feb 14, 2025
1 parent caad363 commit ac6d6cb
Show file tree
Hide file tree
Showing 100 changed files with 8,987 additions and 124 deletions.
2 changes: 2 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
DATABASE_URL="your_url"
NEXT_PUBLIC_IMAGIN_API_KEY=hrjavascript-mastery
67 changes: 66 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,66 @@
node_modules
.DS_STORE
node_modules
scripts/flow/*/.flowconfig
.flowconfig
*~
*.pyc
.grunt
_SpecRunner.html
__benchmarks__
build/
remote-repo/
coverage/
.module-cache
fixtures/dom/public/react-dom.js
fixtures/dom/public/react.js
test/the-files-to-test.generated.js
*.log*
chrome-user-data
*.sublime-project
*.sublime-workspace
.idea
*.iml
.vscode
*.swp
*.swo
.env

# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?


packages/react-devtools-core/dist
packages/react-devtools-extensions/chrome/build
packages/react-devtools-extensions/chrome/*.crx
packages/react-devtools-extensions/chrome/*.pem
packages/react-devtools-extensions/firefox/build
packages/react-devtools-extensions/firefox/*.xpi
packages/react-devtools-extensions/firefox/*.pem
packages/react-devtools-extensions/shared/build
packages/react-devtools-extensions/.tempUserDataDir
packages/react-devtools-fusebox/dist
packages/react-devtools-inline/dist
packages/react-devtools-shell/dist
packages/react-devtools-timeline/dist
661 changes: 661 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

66 changes: 66 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
🌍 [Leia em Português](README.pt-BR.md)

# Goals Sets

Web Application to manage your goals developed in `react` using `next` and `typescript` with the api integrated to make manipulations in the `postgrees` database.

# Technologies Used

- `React` - Create the user interface.
- `Fastify` - APi development.
- `Tailwind CSS` - Css Framework to fast design and responsive.
- `TypeScript` - Superset of JavaScript.
- `Vite` - Framework to build front-end moderns projects.
- `Drizzle ORM` - ORM to inreact with the database(SQL).
- `Zod` - Validate types and schemes.
- `PostgreSQL` - Relational Database used.

1. Clone the repository:

```bash
git clone https://github.com/felipeclarindo/goals-sets.git
```

2. Enter directory:

```bash
cd goals-sets
```

3. Install dependencies:

```bash
npm install
```

4. Create the file `.env` and set the url of the `postgres database` as per the file [.env.example](./.env.example).

5. Run the api:

```bash
npm run api
```

6. Run the application:

```bash
npm run dev
```

7. Enter the link provided to view the application.

## Contribution

Contributions are welcome! If you have suggestions for improvements, feel free to open an issue or submit a pull request.

## Author

**Felipe Clarindo**

- [LinkedIn](https://www.linkedin.com/in/felipeclarindo)
- [Instagram](https://www.instagram.com/lipethecoder)
- [GitHub](https://github.com/felipeclarindo)

## License

This project is licensed under the [GNU Affero License](https://www.gnu.org/licenses/agpl-3.0.html).
68 changes: 68 additions & 0 deletions README.pt-BR.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
🌍 [Read in English](README.md)

# Goals Sets

Aplicação Web para gerenciar seus objetivos desenvolvida em 'react' usando 'vite' e 'typescript' com a api integrada para fazer manipulações no banco de dados 'postgrees'.

## Tecnologias Utilizadas

- `React` - Criação de interfaces de usuário.
- `Fastify` - Desenvolvimento da API.
- `Tailwind CSS` - Framework CSS para design rápido e responsivo.
- `TypeScript` - Superset de JavaScript.
- `Vite` - Ferramenta de build para projetos front-end modernos.
- `Drizzle ORM` - ORM para interagir com bancos de dados SQL.
- `Zod` - Validação de tipos e esquemas.
- `PostgreSQL` - Banco de dados relacional utilizado.

# Passos para instalação e execução

1. Clone o repositório:

```bash
git clone https://github.com/felipeclarindo/goals-sets.git
```

2. Entre no diretório:

```bash
cd goals-sets
```

3. Instale as dependências:

```bash
npm install
```

4. Crie o arquivo `.env` e defina a url do `banco de dados postgres` conforme o arquivo [.env.example](./.env.example).

5. Execute a API:

```bash
npm run api
```

6. Execute a Aplicação:

```bash
npm run dev
```

7. Entre no link disponibilizado para visualização da aplicação.

## Contribuição

Contribuições são bem-vindas! Se você tiver sugestões de melhorias, sinta-se à vontade para abrir uma issue ou enviar um pull request.

## Autor

**Felipe Clarindo**

- [LinkedIn](https://www.linkedin.com/in/felipeclarindo)
- [Instagram](https://www.instagram.com/lipethecoder)
- [GitHub](https://github.com/felipeclarindo)

## Licença

Este projeto está licenciado sob a [GNU Affero License](https://www.gnu.org/licenses/agpl-3.0.html).
1 change: 1 addition & 0 deletions api/.env-sample
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DATABASE_URL="SUA_URL"
6 changes: 6 additions & 0 deletions api/.migrations/0000_unique_william_stryker.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
CREATE TABLE IF NOT EXISTS "goals" (
"id" text PRIMARY KEY NOT NULL,
"title" text NOT NULL,
"desired_weekly_frequency" integer NOT NULL,
"created_at" timestamp with time zone DEFAULT now() NOT NULL
);
11 changes: 11 additions & 0 deletions api/.migrations/0001_worthless_santa_claus.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
CREATE TABLE IF NOT EXISTS "goals_completions" (
"id" text PRIMARY KEY NOT NULL,
"goal_id" text NOT NULL,
"created_at" timestamp with time zone DEFAULT now() NOT NULL
);
--> statement-breakpoint
DO $$ BEGIN
ALTER TABLE "goals_completions" ADD CONSTRAINT "goals_completions_goal_id_goals_id_fk" FOREIGN KEY ("goal_id") REFERENCES "public"."goals"("id") ON DELETE no action ON UPDATE no action;
EXCEPTION
WHEN duplicate_object THEN null;
END $$;
51 changes: 51 additions & 0 deletions api/.migrations/meta/0000_snapshot.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"id": "e095fa9c-0148-417c-8799-4e08dd4a1bfa",
"prevId": "00000000-0000-0000-0000-000000000000",
"version": "7",
"dialect": "postgresql",
"tables": {
"public.goals": {
"name": "goals",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true
},
"title": {
"name": "title",
"type": "text",
"primaryKey": false,
"notNull": true
},
"desired_weekly_frequency": {
"name": "desired_weekly_frequency",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"created_at": {
"name": "created_at",
"type": "timestamp with time zone",
"primaryKey": false,
"notNull": true,
"default": "now()"
}
},
"indexes": {},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {}
}
},
"enums": {},
"schemas": {},
"sequences": {},
"_meta": {
"columns": {},
"schemas": {},
"tables": {}
}
}
94 changes: 94 additions & 0 deletions api/.migrations/meta/0001_snapshot.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
{
"id": "aad7823d-1f28-4a68-90e6-441d80edd1b8",
"prevId": "e095fa9c-0148-417c-8799-4e08dd4a1bfa",
"version": "7",
"dialect": "postgresql",
"tables": {
"public.goals_completions": {
"name": "goals_completions",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true
},
"goal_id": {
"name": "goal_id",
"type": "text",
"primaryKey": false,
"notNull": true
},
"created_at": {
"name": "created_at",
"type": "timestamp with time zone",
"primaryKey": false,
"notNull": true,
"default": "now()"
}
},
"indexes": {},
"foreignKeys": {
"goals_completions_goal_id_goals_id_fk": {
"name": "goals_completions_goal_id_goals_id_fk",
"tableFrom": "goals_completions",
"tableTo": "goals",
"columnsFrom": [
"goal_id"
],
"columnsTo": [
"id"
],
"onDelete": "no action",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {}
},
"public.goals": {
"name": "goals",
"schema": "",
"columns": {
"id": {
"name": "id",
"type": "text",
"primaryKey": true,
"notNull": true
},
"title": {
"name": "title",
"type": "text",
"primaryKey": false,
"notNull": true
},
"desired_weekly_frequency": {
"name": "desired_weekly_frequency",
"type": "integer",
"primaryKey": false,
"notNull": true
},
"created_at": {
"name": "created_at",
"type": "timestamp with time zone",
"primaryKey": false,
"notNull": true,
"default": "now()"
}
},
"indexes": {},
"foreignKeys": {},
"compositePrimaryKeys": {},
"uniqueConstraints": {}
}
},
"enums": {},
"schemas": {},
"sequences": {},
"_meta": {
"columns": {},
"schemas": {},
"tables": {}
}
}
Loading

0 comments on commit ac6d6cb

Please sign in to comment.