Are you a marketing manager looking to streamline your ad campaigns? AdSync is a modern web application that helps you manage your ad campaigns with ease. The application allows you to create, update, and delete ad campaigns, as well as view detailed analytics for each campaign. With AdSync, you can track the performance of your ad campaigns and make data-driven decisions to optimize your marketing strategy.
This project is a monorepo that includes a Spring Boot backend and a React frontend built with Vite. The backend serves as the API layer for the application, while the frontend provides the user interface. The project is designed for scalability and ease of use, leveraging modern tools and frameworks.
- Backend
- Built with Spring Boot (with Java and Maven).
- REST API to handle business logic.
- PostgreSQL as the database.
- Frontend
- Built with React and Vite for a fast development experience.
- TailwindCSS for styling.
- Responsive and optimized for performance.
- Node.js (v21 or higher)
- NPM (v10 or higher)
- Java (v21 or higher)
- Docker (if running via containers)
- Docker Compose (if running via containers)
- PostgreSQL (if running the backend locally without Docker)
Clone the repository and navigate to the project directory:
git clone https://github.com/admy7/adsync.git
cd adsyncFrom the root directory, copy the .env.example file and configure it:
cp .env.example .envRun:
docker-compose build
# or docker compose build
# (depending on your docker compose version)Run the following command to start the backend, frontend, and database:
docker-compose up
# or docker compose up
# (depending on your docker compose version)- Frontend:
http://localhost:5173 - Backend API:
http://localhost:8080
From the root directory, run:
docker-compose -f docker-compose.dev.yml up -d
# or docker compose -f docker-compose.dev.yml up -d
# (depending on your docker compose version)cd apps/backend
./mvnw spring-boot:runThe backend will start at
http://localhost:8080by default.
cd apps/frontendnpm installCopy the .env.example file and configure it:
cp .env.example .envnpm run devThe frontend will start at
http://localhost:5173by default.
adsync
├── .github
│ └── workflows
│ └── build-backend.yml
│ └── build-frontend.yml
├── apps
│ ├── backend
│ │ ├── src
│ │ ├── pom.xml
│ │ ├── Dockerfile
│ │ └── ...
│ ├── frontend
│ │ ├── src
│ │ ├── package.json
│ │ ├── Dockerfile
│ │ └── ...
├── .gitignore
├── docker-compose.yml
├── docker-compose.dev.yml
└── README.md
- Services not starting: Check if the configuration files are properly configured (application.yml or .env) and the database is running.
- Frontend issues: Ensure all dependencies are installed by running
npm install. - Docker issues: Run
docker-compose logsordocker psto identify the error.
Contributions are welcome! Feel free to submit issues and pull requests to improve the project.
For any inquiries, please open a GitHub issue.