Welcome to the backend repository for my portfolio! This project serves as the backbone of my personal website, showcasing my journey and skills as an aspiring Backend Developer. Developed with Django, it integrates various services and databases to provide a seamless and dynamic experience.
- Django Framework: Robust and scalable backend developed using Django, ensuring security and performance.
- RESTful API: Efficient and well-documented API endpoints for data retrieval and manipulation, built using Django REST Framework.
- Database Integration: Utilizes PostgreSQL for reliable and efficient data storage and retrieval.
- Cloudinary Integration: Seamlessly handles media uploads and management using Cloudinary, ensuring fast and secure access to images and videos.
- User Authentication: Implements secure user authentication and authorization mechanisms with Django's built-in authentication system.
- Admin Interface: Easy-to-use admin interface for managing content, built with Django Admin.
- Environment Configuration: Sensitive information managed through
.env
files andpython-decouple
for secure and flexible environment settings.
- Django: High-level Python web framework that encourages rapid development and clean, pragmatic design.
- Django REST Framework: Powerful and flexible toolkit for building Web APIs.
- PostgreSQL: Advanced, open-source relational database.
- Cloudinary: Cloud-based service for image and video management.
- Docker: Containerization platform to ensure consistent development environments.
- Git: Version control system for tracking changes and collaborating with others.
To get a local copy up and running, follow these simple steps:
-
Clone the repository:
git clone https://github.com/Mikiejoe/portfolio-backend.git cd portfolio-backend
-
Create and activate a virtual environment
python -m venv env source env/bin/activate # On Windows, use `env\Scripts\activate`
-
Install the dependencies:
pip install -r requirements.txt
-
Set up the environment variables:
Create a .env file in the root directory and add your configuration values:
CLOUD_NAME = your_cloudinary_cloud_name_here API_KEY = your_cloudinary_api_key_here API_SECRET = your_cloudinary_api_secret_here DB_NAME = your_database_name_here DB_PASSWORD = your_database_password_here DB_HOST = your_database_host_here DB_PORT = 5432
-
Run the database migrations:
python manage.py makemigrations python manage.py migrate
-
Start the development server:
python manage.py runserver
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