This project is a Campus Bulletin Board mobile app designed to facilitate communication within a campus. The backend is powered by .NET and Docker, while the frontend is built with Flutter. This README provides instructions on how to set up, run, and deploy the project.
Before you begin, ensure you have met the following requirements:
-
Backend Requirements:
-
App Requirements:
- Flutter SDK
- Android Studio or Visual Studio Code with Flutter extension
-
Download the Backend Code: Clone the repository containing the backend code.
https://github.com/Amanuel94/campus-bulletin-board-api cd campus-bulletin-board-api-main
-
Install Docker: Follow the instructions on the Docker website to install Docker on your machine.
-
Install MongoDB and RabbitMQ Images: Pull the MongoDB and RabbitMQ Docker images.
docker pull mongo docker pull rabbitmq
-
Run Docker Compose: Navigate to the backend root folder and run the following command to start the containers in detached mode.
sudo docker-compose up -d
-
Run the .NET Services: Open a terminal and navigate to each service folder (UserService, ClassroomService, NoticeService) and run:
dotnet run
-
Download the App Code: Clone the repository containing the frontend code.
cd campus-bulletin-board-main
-
Install Flutter Dependencies: Navigate to the frontend folder and install the required dependencies.
flutter pub get
- Ensure Docker is running and the containers are up.
- Run each of the .NET services:
- Navigate to the Board.User.Service/src folder and run
dotnet run
- Navigate to the Board.ClassroomService/src folder and run
dotnet run
- Navigate to the Board.NoticeService/src folder and run
dotnet run
- Navigate to the Board.User.Service/src folder and run
- Ensure you have an emulator or physical device connected.
- Navigate to the frontend folder.
- Run the Flutter application.
flutter run