Synapse is an open-source platform built with Django that fosters discussions around coding, technology, and everything in between.
Whether you're a developer looking to dive into Django, or someone passionate about contributing to meaningful tech communities — you're in the right place!
- 🧩 Powered by Django
- 🗃️ Uses SQLite as the default database
- 🧠 Built for discussions on coding and technology
- 🌱 Beginner-friendly and open for contributions
Based on the command history, here's a comprehensive guide to setting up the Synapse Django project on your local machine:
- Python 3.x installed
- Git installed
- PowerShell (or terminal of your choice)
git clone https://github.com/<username>/synapse.git
cd synapse
python -m venv env
For PowerShell (you may need to set execution policy first):
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
.\env\Scripts\Activate.ps1
For Command Prompt:
.\env\Scripts\activate
pip install django
pip install djangorestframework
pip install django-cors-headers
pip install Pillow
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
Open your browser and go to:
http://127.0.0.1:8000/
-
Virtual Environment Activation Fails:
- Make sure you're in the correct directory
- Check if the
env
folder exists - Try the full path:
.\synapse\env\Scripts\Activate.ps1
-
Missing Dependencies:
- If you get errors about missing modules, install them with pip:
pip install module-name
- If you get errors about missing modules, install them with pip:
-
Database Issues:
- If models have changed, run:
python manage.py makemigrations python manage.py migrate
- If models have changed, run:
-
Static Files Not Loading:
- Collect static files:
python manage.py collectstatic
- Collect static files:
Key directories and files:
Synapse/
- Main project settingsbase/
- App containing core functionalitytemplates/
- HTML templatesmanage.py
- Django management script
- Make changes to the code
- Test locally with
python manage.py runserver
- Stage changes:
git add .
- Commit changes:
git commit -m "Your commit message"
- Push to GitHub:
git push origin main
- The project uses Django REST Framework for APIs
- CORS headers are configured for cross-origin requests
- Pillow is required for image handling (avatars)
- The virtual environment keeps project dependencies isolated
Remember to always activate your virtual environment before working on the project and to install any new dependencies within the activated environment.
We love contributions! 💖 Whether it's a bug fix, a new feature, or even fixing a typo — every bit helps. To Contribute:
-
Fork this repository
-
Create a new branch:
git checkout -b your-feature-name
-
Make your changes
-
Commit your changes:
git commit -m "Add your message here"
-
Push to your fork:
git push origin your-feature-name
-
Open a Pull Request and describe your changes Please follow best practices, and refer to our code style and guidelines.
Have an idea or found a bug? Feel free to:
- Open an issue
- Start a discussion to share suggestions or questions
This project is licensed under the MIT License. Feel free to use, share, and modify it with proper attribution
Thanks to all the open-source contributors and the Django community for making this project possible!
If you'd like to stay updated or ask questions, you can:
- Open an issue
- Join future community discussions
- Share your feedback
Together, let’s make Synapse an awesome space for tech talks and collaboration! 🚀