https://github.com/cryme-l/nlw-pocket-javascript
This project is a full-stack goals management application developed during RocketSeat's NLW Pocket course.
https://github.com/cryme-l/nlw-pocket-javascript
biome docker drizzle-kit drizzle-orm nodejs postgresql react tailwindcss tanstack-react-query typescript vite
Last synced: about 2 months ago
JSON representation
This project is a full-stack goals management application developed during RocketSeat's NLW Pocket course.
- Host: GitHub
- URL: https://github.com/cryme-l/nlw-pocket-javascript
- Owner: crymE-L
- License: mit
- Created: 2024-09-12T14:34:48.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-10-21T18:17:19.000Z (8 months ago)
- Last Synced: 2025-04-12T09:15:00.628Z (about 2 months ago)
- Topics: biome, docker, drizzle-kit, drizzle-orm, nodejs, postgresql, react, tailwindcss, tanstack-react-query, typescript, vite
- Language: TypeScript
- Homepage:
- Size: 36.5 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🚀 NLW Pocket : JavaScript - Goals Management Application
This is a full-stack goals management application developed during RocketSeat's NLW Pocket course. It helps users add, track, and manage their goals with an intuitive and modern interface.
## 🖥️ Tech Stack
- **Frontend**: React, TypeScript, Vite, TanStack Query, Tailwind CSS
- **Backend**: Node.js, Drizzle ORM, PostgreSQL
- **Tools**: Docker, Biome, Environment Files (.env), API Calls, Routing## 📸 Screenshots


## 🌟 Features
- Add and manage your goals
- Track completion over time
- Weekly goal summaries
- Clean and responsive UI## 📦 Prerequisites
Before you begin, ensure you have the following installed:
- [Node.js](https://nodejs.org/) (v18 or later)
- [Docker](https://www.docker.com/) (to run PostgreSQL)## 🛠️ Setup Guide
Follow these steps to set up the application locally:
### 1. Clone the Repository
```bash
git clone https://github.com/crymE-L/nlw-pocket-javascript.git
cd nlw-pocket-javascript
```### 2. Set Up Environment Variables
Create a .env file in the project root with the following content:
```bash
DATABASE_URL=postgresql://user:password@localhost:5432/your-database
REACT_APP_API_URL=http://localhost:3001/api
```### 3. Install Backend Dependencies
```bash
cd backend
npm install
```### 4. Install Frontend Dependencies
```bash
cd ../frontend
npm install
```### 5. Start Docker Services
Run the following command to spin up a PostgreSQL database according to the configuration in the docker-compose.yml file:
```bash
docker-compose up -d
```
### 6. Run MigrationsNavigate to the backend folder and run migrations to set up your database:
```bash
cd backend
npx drizzle-kit sync:push
```### 7. Start the Backend Server
Inside the backend folder, start the server:
```bash
npm run dev
```The backend server will start on http://localhost:3001.
### 8. Start the Frontend Server
Open a new terminal, navigate to the frontend directory, and start the frontend:
```bash
cd frontend
npm run dev
```The frontend will start on http://localhost:5173.
### 9. Access the Application
Visit http://localhost:5173 in your browser to start using the app!## 🤝 Contributing
Contributions are welcome! Feel free to open issues or submit pull requests.## 📝 License
This project is licensed under the MIT License.## 📧 Contact
For any inquiries, please contact [email protected].