Phone Book App is a full-stack application designed to manage and store contact information. This project is built with modern web technologies and follows best practices for a scalable and maintainable codebase.
-
Backend:
- Node.js
- Express
- Zod
- Validator
- UUID
- Prisma
- Pg
- PostgreSQL
-
Frontend:
- React
- TypeScript
- Tailwind CSS
- Radix UI
- React Icons
- React Input Mask
To get a local copy of the project up and running, follow these steps.
Make sure you have the following installed on your machine:
- Node.js (v18 or higher)
- Git
- PostgreSQL
OBS: Make sure PostgreSQL service is running.
- Start PostgreSQL service
Linux (Ubuntu/Debian):
sudo systemctl start postgresql
MacOS (Using Homebrew):
brew services start postgresql
- Clone the repository:
git clone https://github.com/JhonatanGAlves/phone-book-app.git
cd phone-book-app
- Install dependencies::
npm install
- Setup the environment variables:
Rename .env.example to .env and fill in the required environment variables. Something like this:- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=password
- POSTGRES_PORT=5432
- POSTGRES_DB=phonebookapp
- POSTGRES_HOST=localhost
- PORT=8080
- DATABASE_URL="postgresql://postgres:password@localhost:5432/phonebookapp"
- Run database migrations:
npx prisma migrate dev
- Start the application:
Backend:
npm run start:dev
Frontend:
npm run dev
Once the server is running, you can access the application at http://localhost:5173 (or the port you specified in the .env file).
This project is licensed under the MIT License.