This project is the core of the GameConnect platform, a social network for gamers. It provides a platform for gamers to connect, share, and play games together. The platform is designed to be user-friendly, secure, and scalable, making it suitable for both casual and competitive gamers. This project is a mono-repo that contains the core backend and frontend components of the GameConnect platform, using the T3-Stack
.
This project is built on the T3 Stack and is bootstrapped with create-t3-app
. It integrates multiple cutting-edge technologies including Drizzle ORM for database interactions, Next.js for server-side rendering, NextAuth for authentication, and much more. This setup is designed to be scalable and efficient, making it suitable for both development and production environments.
- Next.js - The React framework for production.
- NextAuth.js - For secure authentication.
- Drizzle ORM - An ORM for managing database entities.
- Tailwind CSS - For utility-first CSS.
- tRPC - End-to-end typesafe APIs made easy.
- Ansible - For automating deployment and configuration.
- SonarQube - For continuous inspection of code quality.
- PostgreSQL - As the underlying database system.
-
Clone the repository:
git clone https://github.com/Youngermaster/T3-Stack-Shadcn-UI.git cd T3-Stack-Shadcn-UI
-
Install dependencies:
pnpm install
-
Setup the environment: Copy the
.env.example
file to.env
and update the environment variables to match your setup:cp .env.example .env
-
Start the local development database:
./start-database.sh
-
Run the development server:
pnpm dev
Visit
http://localhost:3000
to view the application.
-
Migrate and push changes to the database:
pnpm db:push
-
Open Drizzle Studio to manage the database interactively:
pnpm db:studio
Run SonarQube analysis to ensure high code quality:
./sonar_scanner.sh
Ensure SonarQube is running locally or adjust SONARQUBE_URL
in your .env
to point to your SonarQube server.
The application can be deployed using Docker. See the docker-compose.yml
file for Docker configuration details. Use the following command to build and run the Docker environment:
docker-compose up --build
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
If you have any questions or need help, please open an issue.