This repository is a learning project that explores the fundamentals and advanced features of NestJS and PostgreSQL. The project also integrates several other technologies and tools to build a full-stack application:
- AWS S3: Handling file uploads and storage, including updating user avatars.
- Docker: Containerizing the application for consistent development and deployment environments.
- Elasticsearch: Implementing powerful search functionality.
- Guards: Securing routes and ensuring proper authorization within the application.
This project is a work in progress, and the main goal is to deepen my understanding of these technologies by building a comprehensive application that incorporates real-world features and practices.
To run this project, you'll need to configure environment variables by following these steps:
-
Rename the Environment Files:
- Rename
.env.exampleto.env. - Rename
docker.env.exampletodocker.env.
- Rename
-
Add Your AWS Credentials:
- In the
.envfile, add the following environment variables with your AWS credentials and bucket names:AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_PUBLIC_BUCKET_NAME= AWS_PRIVATE_BUCKET_NAME=
- In the
-
Start the Application:
- Run the following commands to start the application:
pnpm i docker compose up -d pnpm run start:dev
- Run the following commands to start the application: