Odite is an audit application built using Node.js, Express, MongoDB, and Angular. This application provides functionalities for managing audits efficiently, leveraging the power of modern web technologies to offer a robust and scalable solution.
- Audit Management: Create, read, update, and delete audits.
- User Authentication: Secure authentication and authorization mechanisms.
- Responsive Design: User-friendly interface built with Angular.
- API Integration: RESTful API built with Express and Node.js.
- Database: MongoDB for efficient data storage and retrieval.
- Containerization: Docker and Docker Compose for easy deployment.
- Continuous Integration/Continuous Deployment (CI/CD): Automated workflows using Jenkins.
Before you begin, ensure you have met the following requirements:
- Node.js and npm installed
- MongoDB installed and running
- Docker and Docker Compose installed (for containerization)
- Jenkins installed (for CI/CD)
- Clone the Repository
git clone https://github.com/Khalil-Bchir/Odite.git
cd Odite
- Backend Setup
cd backend
npm install
- Frontend Setup
cd ../frontend
npm install
- Start MongoDB
Ensure MongoDB is running on your local machine or specify a remote MongoDB URI in the configuration.
- Run Backend
cd backend
npm start
The backend server will start on http://localhost:3000
.
- Run Frontend
cd frontend
ng serve
The frontend application will start on http://localhost:4200
.
The backend configuration can be set using environment variables or a .env
file. Below are the key configurations:
PORT
: Port on which the backend server will run (default: 3000)MONGO_URI
: MongoDB connection stringJWT_SECRET
: Secret key for JWT authentication
The frontend configuration can be adjusted in the environment.ts
file.
- Build and Run Containers
docker-compose up --build
This command will build and start the application using Docker.
- Stop Containers
docker-compose down
This project uses Jenkins for CI/CD. Ensure Jenkins is installed and properly configured to use the provided Jenkinsfile
.
- Install Dependencies
- Run Tests
- Build Docker Images
- Deploy Application
This project is licensed under the MIT License. See the LICENSE file for more details.