Este repositório contém o backend do projeto TechInsight (você pode encontrar o frontend aqui), um site focado na comunidade tech. Seu objetivo é promover a livre disseminação de conhecimento por meio de publicações, comentários e outras interações.
Back-end: Python, Django, Django Rest Framework
Rodar o TechInsight localmente em sua máquina é super simples.
Clone o repositório e entre dentro da pasta
git clone [email protected]:jeremarques/techinsight-backend.git
cd techinsight-backend
Crie o ambiente virtual ou utilize o Docker, com o Dokerfile na raiz do projeto,
# Utilizando o virtual-env
python -m venv venv
source ./venv/bin/activate
# Instale as dependências do projeto
pip install -r requirements.txt
Crie o arquivo .env a partir do .env.example e preencha com suas respectivas informações.
Após isso, inicie o servidor de desenvolvimento
# Somente localhost (127.0.0.1) na porta 8000
python manage.py runserver
# localhost e IP na porta 8000
python manage.py runserver 0.0.0.0:8000cha
É isso, agora o projeto estará rodando localmente em sua máquina.
Contribuições são bem-vindas e altamente encorajadas! Se você deseja ajudar a melhorar o TechInsight, siga as etapas abaixo para começar:
Veja CONTRIBUTING.md
para saber como começar.
Jeremias Marques, autor do projeto, movido por sua grande vontade de aprender coisas novas e inovadoras, decidiu criar um projeto durante suas férias do trabalho e da escola. Ele escolheu explorar, de forma autodidata, os processos de idealização, modelagem e execução do projeto. Em pouco mais de dois meses, trabalhou intensamente nesse projeto. Durante a criação do TechInsight, Jeremias enfrentou diversos desafios, especialmente na modelagem e estruturação, já que se tratava de uma "rede social". No entanto, ao final, obteve um resultado satisfatório.
O TechInsight é, inicialmente, um projeto de estudo, pois ainda faltam diversas funcionalidades para que possa ser considerado uma "rede social" completa. No entanto, já atendeu ao objetivo principal de seu criador: absorver o máximo de conhecimento sobre idealização, modelagem e execução de uma aplicação do zero, utilizando diversos padrões como DDD, Clean Architecture e TDD.