📝 Contents
- Introduction
- Technology Stack
- Features
- Project Structure
- Running the Project
- API Key Management
- Contributing
- Contact Information
SimpleSocial is a Django-based social networking application that allows users to create and manage posts, join groups, and interact with other users. The project is structured into multiple Django apps to handle different functionalities like user authentication, group management, and posting.
- Django: The web framework used to build the application.
- Bootstrap 3: Used for responsive design and styling.
- SQLite: The default database used for local development.
- Django Authentication: Handles user authentication and session management.
- HTML, CSS, JavaScript: Front-end technologies for building the user interface.
- User Authentication: Sign up, login, and logout functionalities.
- Post Management: Create, view, and delete posts.
- Group Management: Join, leave, and create user groups.
- Responsive Design: Accessible on various devices with a responsive UI.
-
accounts/
: Handles user authentication.templates/accounts/login.html
: Login page template.templates/accounts/signup.html
: Sign-up page template.
-
groups/
: Manages groups and memberships.templates/groups/group_list.html
: Lists all groups.templates/groups/group_detail.html
: Shows details of a specific group.templates/groups/group_form.html
: Group creation form.
-
posts/
: Manages posts.templates/posts/post_list.html
: Lists all posts.templates/posts/post_detail.html
: Shows details of a specific post.templates/posts/post_form.html
: Post creation form.
-
simplesocial/
: Main Django project directory.settings.py
: Django settings for the project.urls.py
: URL routing configuration.views.py
: View functions and class-based views.
-
static/
: Contains static assets such as CSS, JavaScript, and images.master.css
: Custom styles for the project.master.js
: Custom JavaScript for the project.
-
templates/
: Shared HTML templates.base.html
: Base template extended by other templates.index.html
: Homepage template.
To run this project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/OKihichak/simple_social_website.git cd simplesocial
-
Create and activate a virtual environment:
python3 -m venv venv source venv/bin/activate # For Windows use venv\Scripts\activate
-
Install the dependencies:
pip install -r requirements.txt
-
Apply the migrations to set up the database:
python manage.py migrate
-
Run the development server:
python manage.py runserver
-
Access the application: Open your web browser and navigate to
http://localhost:8000
.
Since the project doesn't directly involve external APIs requiring keys, standard Django secret management practices should be followed:
- Keep the
SECRET_KEY
in thesettings.py
file secure. - Consider using environment variables or Django's
django-environ
package for managing sensitive information in production.
Contributions are welcome! If you'd like to contribute to the SimpleSocial project, please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/YourFeatureName
- Make your changes and commit them:
git commit -m 'Add YourFeatureName'
- Push to the branch:
git push origin feature/YourFeatureName
- Open a pull request to discuss and merge your changes.
- Email: [email protected]
- GitHub: Oleh Kihichak