Skip to content

Commit aeb4ad4

Browse files
committedFeb 19, 2024·
make read me more readable
1 parent 0b07b21 commit aeb4ad4

File tree

4 files changed

+70
-26
lines changed

4 files changed

+70
-26
lines changed
 
File renamed without changes.

‎ERD.pgerd.png

162 KB
Loading

‎README.md

+69-25
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,77 @@
1-
# CSIRT-Backend
2-
# Project Name
3-
Brief description of your project. Mention its purpose and what problem it aims to solve.
1+
# CSIRTs in Africa Interactive Map
42

5-
# Table of Contents
6-
> Installation
7-
> Usage
8-
> Features
9-
> Contributing
10-
> License
11-
> Installation
3+
This project involves creating an interactive map to display information about Computer Security Incident Response Teams (CSIRTs) in Africa. The main components are:
124

5+
- Backend API built with Django REST Framework
6+
- PostgreSQL database
7+
- Frontend web app with React
8+
- Interactive map visualization using Leaflet
9+
- Docker deployment
1310

11+
## Usage
1412

15-
# Clone the repository
16-
git clone https://github.com/Nkbtemmy/CSIRT-Backend
13+
The API and frontend are containerized using Docker for easy deployment.
1714

18-
# Navigate to the project directory
19-
cd CSIRT-Backend
15+
To start locally:
2016

21-
# Install dependencies
22-
pip install -r requirements.txt
17+
```
18+
docker-compose up --build
19+
```
2320

24-
# Additional setup steps, if any
25-
Usage
26-
Explain how to use your project. Provide examples and code snippets to demonstrate its functionality.
21+
The frontend will be available at https://csirt-fe.vercel.app/ and the API at https://csirt-be.onrender.com/.
2722

28-
python
29-
Copy code
30-
# How to run the application
31-
> python manage.py runserver
32-
or
33-
> docker compose up --build
23+
The API provides endpoints for CRUD operations on the CSIRT data. The frontend calls these endpoints to fetch data and displays an interactive map populated with CSIRT location markers. Users can click on a country on the map and then a marker with the country name and response teams there.
24+
25+
## Code Repositories
26+
1. https://github.com/Nkbtemmy/CSIRT-Backend
27+
2. https://github.com/Nkbtemmy/CSIRT-Frontend
28+
29+
## API Documentation
30+
31+
The API is documented using Swagger. The documentation can be viewed at:
32+
33+
https://csirt-be.onrender.com//docs
34+
35+
## Deployment
36+
37+
The containers are set up for deployment to a cloud provider. Configure the appropriate deployment steps:
38+
39+
- Push images to a registry like Docker Hub
40+
- Deploy containers to a host like OnRender and Vercel
41+
42+
## Frontend Details
43+
44+
The frontend uses:
45+
46+
- React with create-react-app
47+
- React Router for navigation
48+
- Leaflet and React Leaflet for mapping
49+
50+
Components:
51+
52+
- MapView - Renders the Leaflet map
53+
54+
## Backend Details
55+
56+
The Django REST Framework backend provides a REST API with:
57+
58+
- Django model for CSIRT information
59+
- Serializers to convert model to JSON
60+
- CRUD views for Create, Read, Update, Delete operations
61+
62+
63+
The PostgreSQL database is managed using Django's ORM.
64+
65+
66+
## Future Improvements
67+
68+
Some potential ways to expand on the project:
69+
70+
- Add user registration and accounts
71+
- Support más multiple map views like clusters
72+
- Integrate with GeoDjango for advanced GIS features
73+
- Add additional data and filters like services, contacts, etc
74+
75+
## ERD Diagram for model
76+
77+
![alt text](ERD.pgerd.png)

‎docker-compose.dev.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services:
55
image: csirt-backend
66
build:
77
context: .
8-
dockerfile: ./docker/Dockerfile.dev
8+
dockerfile: ./Dockerfile.dev
99
restart: on-failure
1010
ports:
1111
- 8000:8000

0 commit comments

Comments
 (0)
Please sign in to comment.