Skip to content

A web platform to boost employee collaboration and engagement. It allows employees to connect, share ideas, join discussions, answer questions, and increase involvement. Features include user authentication (JWT-based), forums, group discussions, idea-sharing with upvote/downvote, notifications, and activity tracking.

Notifications You must be signed in to change notification settings

anageguchadze/social_platform

Folders and files

NameName
Last commit message
Last commit date
Dec 11, 2024
Dec 19, 2024
Dec 16, 2024
Dec 13, 2024
Dec 13, 2024
Dec 1, 2024
Dec 16, 2024
Dec 1, 2024
Dec 16, 2024

Repository files navigation

social_platform

🚀 Overview Welcome to the Social Platform Project! This is a Django-based web application utilizing REST APIs, PostgreSQL as the database, JWT authentication, and other modern technologies for seamless user interaction.

🛠️ Technologies Used Django 5.x PostgreSQL for database Django REST Framework for building APIs JWT Authentication with djangorestframework-simplejwt Drf-YASG for API documentation (Swagger & ReDoc) Push Notifications integration support Python 3.x

📂 Table of Contents Features Installation Setup with PostgreSQL Configuration Running the Application API Documentation Contributing License

🎉 Features ✅ Core features: User registration & authentication JWT Token-based authentication REST API endpoints Database migrations with PostgreSQL API documentation with Swagger and ReDoc Push Notifications support

🛠️ Installation Clone the repository: git clone https://github.com/anageguchadze/social_platform.git

Set up a virtual environment: python -m venv venv source venv/bin/activate # On Windows use venv\Scripts\activate

Install dependencies: pip install -r requirements.txt

⚙️ Setup with PostgreSQL Make sure you have PostgreSQL installed. Update the following PostgreSQL settings in settings.py:

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'social_platform', 'USER': 'postgres', 'PASSWORD': 'yourpassword', 'HOST': 'localhost', 'PORT': '5432', } }

Run migrations: python manage.py makemigrations python manage.py migrate

🛡️ Configuration If you want to use environment variables (.env) for sensitive keys and database configurations: Create a .env file in the root directory of the project with the following structure: makefile Copy code DATABASE_NAME=social_platform DATABASE_USER=your_db_user DATABASE_PASSWORD=your_db_password DATABASE_HOST=localhost DATABASE_PORT=5432 SECRET_KEY=your_secret_key DEBUG=True

Install python-dotenv if needed: pip install python-dotenv

🚀 Running the Application Start the development server: python manage.py runserver Visit http://localhost:8000/ in your browser to interact with the application.

📜 API Documentation This project uses Swagger & ReDoc for visualizing the RESTful APIs.

Access Swagger here: http://localhost:8000/swagger/

Access ReDoc here: http://localhost:8000/redoc/

🤝 Contributing We welcome contributions! If you find any issues, or want to add features, feel free to fork this repository and submit a pull request.

Steps: Fork the repository. Clone your forked repository. Create a new branch (git checkout -b feature/your-feature-name). Commit changes and push to your branch. Submit a pull request.

📄 License This project is licensed under the MIT License.

About

A web platform to boost employee collaboration and engagement. It allows employees to connect, share ideas, join discussions, answer questions, and increase involvement. Features include user authentication (JWT-based), forums, group discussions, idea-sharing with upvote/downvote, notifications, and activity tracking.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages