{"id":21254187,"url":"https://github.com/artur24814/calendar_manager","last_synced_at":"2026-04-25T18:32:20.325Z","repository":{"id":195749378,"uuid":"559656860","full_name":"artur24814/calendar_manager","owner":"artur24814","description":"📅 Social media web site for managing business meetings or friends meeting","archived":false,"fork":false,"pushed_at":"2023-03-30T08:29:47.000Z","size":3506,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-01T21:51:30.897Z","etag":null,"topics":["calendar","chatroom","django","railway","redis-server","social-network","websocket"],"latest_commit_sha":null,"homepage":"https://web-production-d9e3.up.railway.app/","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/artur24814.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-10-30T19:29:29.000Z","updated_at":"2023-03-27T14:59:17.000Z","dependencies_parsed_at":"2023-09-19T12:54:07.235Z","dependency_job_id":null,"html_url":"https://github.com/artur24814/calendar_manager","commit_stats":null,"previous_names":["artur24814/calendar_manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/artur24814/calendar_manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artur24814%2Fcalendar_manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artur24814%2Fcalendar_manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artur24814%2Fcalendar_manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artur24814%2Fcalendar_manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artur24814","download_url":"https://codeload.github.com/artur24814/calendar_manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artur24814%2Fcalendar_manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32273213,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T18:29:39.964Z","status":"ssl_error","status_checked_at":"2026-04-25T18:29:32.149Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["calendar","chatroom","django","railway","redis-server","social-network","websocket"],"created_at":"2024-11-21T03:54:31.682Z","updated_at":"2026-04-25T18:32:20.301Z","avatar_url":"https://github.com/artur24814.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# calendar_manager\n\u003cimg src=\"https://github.com/wsvincent/awesome-django/raw/main/assets/django-logo.svg\"\u003e\n\u003ch2\u003eContents\u003c/h2\u003e\n\u003cul\u003e\n   \u003ch3\u003e\u003ca href=\"#info\"\u003e\u003cstrong\u003eInfo\u003c/strong\u003e\u003c/a\u003e\u003c/h3\u003e\u003cp\u003eInformation about the resources used in this project\u003c/p\u003e\n   \u003ch3\u003e\u003ca href=\"#django_calendar\"\u003e\u003cstrong\u003eCalendarManager\u003c/strong\u003e\u003c/a\u003e\u003c/h3\u003e\u003cp\u003eSocial media site for managing business meetings and friends meeting\u003c/p\u003e\n   \u003ch3\u003e\u003ca href=\"#clone_project\"\u003e\u003cstrong\u003eClone and Run a Django Project\u003c/strong\u003e\u003c/a\u003e\u003c/h3\u003e\u003cp\u003ehow run projects in your computer\u003c/p\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\n\u003cdetails\u003e\u003csummary id=\"info\" style=\"font-size: 30px;\"\u003e INFO\u003c/summary\u003e\n\u003ch4\u003eInformation about the additional library, external Api used in this project and general information\u003c/h4\u003e\n\n\u003cstrong\u003eDjango\u003c/strong\u003e\nA high-level Python web framework that encourages rapid development and clean, pragmatic design..\n\n\u003cstrong\u003eBootstrap\u003c/strong\u003e Powerful, extensible, and feature-packed frontend toolkit.\n\n\u003cstrong\u003edjango-widget-tweaks\u003c/strong\u003e Tweak the form field rendering in templates, not in python-level form definitions. Altering CSS classes and HTML attributes is supported.\n\n\u003cstrong\u003epytest-django\u003c/strong\u003e pytest-django allows you to test your Django project/applications with the pytest testing tool.\n\n\u003cstrong\u003edjango-storages/boto3\u003c/strong\u003e django-storages is a collection of custom storage backends for Django.Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for Python, which allows Python developers to write software that makes use of services like Amazon S3 and Amazon EC2.\n\n\u003cstrong\u003edjango-sslserver2\u003c/strong\u003e Django package to support both HTTP and HTTPS as runserver command. (For testing social Autch )\n\n\u003cstrong\u003esocial-auth-app-django\u003c/strong\u003e This is the Django component of the python-social-auth ecosystem, it implements the needed functionality to integrate social-auth-core in a Django based project.\n\n\u003cstrong\u003eHTMX\u003c/strong\u003e htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext\n\n\u003cstrong\u003echannels\u003c/strong\u003e Channels is a project that takes Django and extends its abilities beyond HTTP - to handle WebSockets, chat protocols, IoT protocols, and more. It’s built on a Python specification called ASGI.\n\n\u003c/details\u003e\n\n\u003chr\u003e\n\n\n\u003ccenter\u003e\u003ch1 id=\"django_calendar\"\u003e Calendar Manager \u003cspan style='font-size:80px;'\u003e\u003cimg src=\"https://img.icons8.com/doodle/48/null/apple-calendar--v2.png\"/\u003e\u003c/span\u003e\u003c/h1\u003e\u003c/center\u003e\n\n## The website contains several applications:\n* accounts\n* calendar\n* Chat app\n\n### Accounts\n\nYou must be register to have full access to all features. When creating a new profile, you need to select when you will be available for meetings from one hour to an hour, as well as the meeting format (it can be 15/30/45/60 minutes or one day) and the days of the week. All this information will be needed to count available seats and avoid booking when you are not available or physically unable to do so.\n\n| \u003cimg src=\"https://user-images.githubusercontent.com/97242088/221548589-58dfb309-ae79-42fd-a58e-e27e45d7f1f9.png\" alt='Sign in'\u003e | \u003cimg src='https://user-images.githubusercontent.com/97242088/221548641-e442bd45-3fa3-440d-baf8-0e20e1be565a.png'  width='300' alt='Sign on'\u003e |\n| ---- | ----- |\n\n```\nIn app accounts I use HTMX to dynamically connect my views with backend. \nThis is another way of communication between frontend and backend.\n```\n\nWithout registering, you can view users, view the list of their appointments (if they have selected the scoupe calendar for \"all\"), but that's all you can do.\n\n\u003cimg src='https://user-images.githubusercontent.com/97242088/225920454-3e77d14a-4075-4402-beb5-449596895bda.png'  alt='Register'\u003e\n\nYou can go back to your profile settings and change anything at any time.\n\n### Calendar\n\nAfter creating a new account, you now see your Calendar, nothing happens in it, but when you have an appointment, that appointment will appear in your calendar.\n\nHow your profile will be visible to others will depend on the settings in your profile. Full information may be available to all users, only friends or only you. Also when you select the \"Organization\" role in the settings, your profile and calendar will have a different view, but we'll talk about that later.\n\n\u003cimg src='https://user-images.githubusercontent.com/97242088/225916137-cf20e681-9b4a-427e-aae2-e0af14920097.png'  alt='Calendar'\u003e\n\nLet's check someone's calendar.\n\nWhen you visit someone else's calendar view, you can ask them for an appointment. However, you should check the time and day and availability, because if you choose the wrong time, you can send him this form, and of course, you can't ask him to meet you in the past.\n\n\u003cimg src='https://user-images.githubusercontent.com/97242088/225927091-b88ca018-5576-4bbb-9d65-1a830551b9d3.png' alt='Meeting'\u003e\n\nAs you can see, there is a difference between what the calendar looks like for its owner and what it looks like for a guest (if you are the owner you have more information about appointments) ⬇️.\n\n\u003cimg src='https://user-images.githubusercontent.com/97242088/225927071-d6238e80-f3ef-45dd-93cb-b650eb7ef4f8.png' alt='Meeting2'\u003e\n\nIf everything is correct, this user will see our request in his panel and only if he accepts it, the meeting will be in our calendar and in his. The number of vacancies in both our calendars will be recalculated.\n\n\u003cimg src='https://user-images.githubusercontent.com/97242088/225916951-a4baa913-e164-464a-aa9c-f6984b37b2f9.png' alt='meeting ok'\u003e\n\nIf he ignores it, the meeting will go down in history, but it won't affect anything.\n\nYou can follow users and users can follow you. In the search input, enter a username, last name or nickname and find him.\n\n\u003cimg src='https://user-images.githubusercontent.com/97242088/225916409-a00662a7-fef2-406a-9738-eb802c2a954a.png'\u003e\n\n\n\u003ch3\u003eChat Rooms\u003c/h3\u003e\n\nThe \"Chat\" application creates a WebSocket connection between users in their room. \n\n*I use Django channels for this.\n\nI call it rooms, but in my app it's called \"discussions\". If the user is online (it means they have an open dialog) this discussion will have a green point.\n\n\u003cimg src='https://user-images.githubusercontent.com/97242088/226368965-983b52ba-ca50-44cd-b8e7-7e85ecb37c1b.png'\u003e\n\nIn the dialog view, all users will have the same view at the same time (you don't need to reload the page to see new messages)\n\n\u003cimg src='https://user-images.githubusercontent.com/97242088/225919195-7bdd33bc-ae42-41af-97e5-e498d2c40f78.png'\u003e\n\nIf you want, you can rename the room and add more users to the discussion.\n\n\u003ch3\u003eFor businesses\u003c/h3\u003e\n\u003chr\u003e\n\nThis site, as I mentioned earlier, looks different for companies.\n\n| There is no calendar on the profile page where you can make appointments, instead, on the company profile page, you can see the employees of the company, as well as articles or events of that company. ➡️ | \u003cimg width='2000' src='https://user-images.githubusercontent.com/97242088/226953789-8f0fad8d-6b25-4de7-9046-f6022c4d207a.png'\u003e |\n| :--- | :---: |\n\u003ctable\u003e\n   \u003ctr\u003e\n      \u003cth\u003e\n         By entering as the owner of this page, you will be able to manage it ➡️:\n         \u003cul\u003e\n           \u003cli\u003eadd employees, edit their positions and responsibilities;\u003c/li\u003e\n           \u003cli\u003eadd posts.\u003c/li\u003e\n         \u003c/ul\u003e\n      \u003c/th\u003e\n      \u003cth\u003e\n         \u003cimg src='https://user-images.githubusercontent.com/97242088/226953334-c77b618f-1d86-4fbb-9b07-97a792d30e8c.png'\u003e\n      \u003c/th\u003e\n   \u003c/tr\u003e\n\u003c/table\u003e\n\n Add post ⬇️ | Edit employee ⬇️\n -- | -- \n \u003cimg  src='https://user-images.githubusercontent.com/97242088/226959138-6bf636aa-fc19-4b15-9729-57b6b744d7a3.png'\u003e | \u003cimg  src='https://user-images.githubusercontent.com/97242088/226959242-afb09e77-54d4-4df2-9664-d1201beadf88.png'\u003e \n\n\nThe post will have its shortcut on the profile page and it will also have a details view.\n\n| \u003cimg src='https://user-images.githubusercontent.com/97242088/226956423-df01937a-22f6-4ccc-a809-36ba68ea11fb.png'\u003e | \u003cimg src='https://user-images.githubusercontent.com/97242088/226956527-448c17ec-fe4a-44ba-8a47-3576c07240e6.png'\u003e |\n| ------- | ------ |\n\n\nAn additional and very useful option for companies is the creation of chat groups.\n\nYou will see new button on your user panel.\n\n\u003cimg src='https://user-images.githubusercontent.com/97242088/226954130-2a60e844-c891-4c3c-b843-1dec3a787b17.png'\u003e\n\nEach time you click on it, you will renew the chat, and if you add new employees, they will automatically appear there.\n\n\u003cimg src='https://user-images.githubusercontent.com/97242088/226954343-929766d8-ef41-4506-b60e-1becb2c7348b.png'\u003e\n\n\n\n\u003ccenter\u003e\u003ch2 id=\"clone_project\"\u003eClone and Run a Django Project\u003c/h2\u003e\u003c/center\u003e\n\nBefore diving let’s look at the things we are required to install in our system.\n\nTo run Django prefer to use the Virtual Environment\n\n`pip install virtualenv`\n\nMaking and Activating the Virtual Environment:-\n\n`python -m venv “name as you like”`\n\n`source env/bin/activate`\n\nInstalling Django:-\n\n`pip install django`\n\nNow, we need to clone project from Github:-\n\u003cp\u003eAbove the list of files, click Code.\u003c/p\u003e\n\u003cimg src=\"https://docs.github.com/assets/cb-20363/images/help/repository/code-button.png\"\u003e\n\nCopy the URL for the repository.\n\u003cul\u003e\n\u003cli\u003eTo clone the repository using HTTPS, under \"HTTPS\", click\u003c/li\u003e\n\u003cli\u003eTo clone the repository using an SSH key, including a certificate issued by your organization's SSH certificate authority, click SSH, then click\u003c/li\u003e\n\u003cli\u003eTo clone a repository using GitHub CLI, click GitHub CLI, then click\u003c/li\u003e\n\u003c/ul\u003e\n\u003cimg src=\"https://docs.github.com/assets/cb-33207/images/help/repository/https-url-clone-cli.png\"\u003e\n\nOpen Terminal.\n\nChange the current working directory to the location where you want the cloned directory.\n\nType git clone, and then paste the URL you copied earlier.\n\n`$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY`\n\nPress Enter to create your local clone.\n\n```\n$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY\n\u003e Cloning into `Spoon-Knife`...\u003cbr\u003e\n\u003e remote: Counting objects: 10, done.\n\u003e remote: Compressing objects: 100% (8/8), done.\n\u003e remove: Total 10 (delta 1), reused 10 (delta 1)\n\u003e Unpacking objects: 100% (10/10), done.\n```\n\nInstall the project dependencies:\n\n`pip install -r requirements.txt`\n\ncreate .env file,\nput this information in file.\n\n```python\nDEBUG=True \nSECRET_KEY='your_secret'\n\nPOSTGRES_DB='postgres'\nPOSTGRES_USER='postgres'\nPOSTGRES_PASSWORD='postgres'\n\nAWS_ACCESS_KEY_ID='your_id'\nAWS_SECRET_ACCESS_KEY='your_key'\nAWS_STORAGE_BUCKET_NAME='your_bucket_name'\n\n\nAWS_S3_FILE_OVERWRITE=False\n\nSOCIAL_AUTH_FACEBOOK_KEY=\"your_facebook_appid\"\nSOCIAL_AUTH_FACEBOOK_SECRET=\"your_facebook_secretkey\"\nSOCIAL_AUTH_GOOGLE_OAUTH2_KEY=\"your_google_key\"\nSOCIAL_AUTH_GOOGLE_OAUTH2_SECRET=\"Your_google_secret\"\n\nEMAIL_HOST_USER='email'\nEMAIL_HOST_PASSWORD='app-pasword'\n```\n\n!!!! If you want to use all the features of this site, you should first create a bucket in amazon C3, create development pages in google, facebook and set up your mail account !!!\n\ncreate admin account (**remember you must be at the main application folder with file manage.py, and do this steps for\neach application in this repository!!!!**)\n\n`python manage.py createsuperuser`\n\nthen\n\n`python manage.py makemigrations`\n\nthen run\n\n`python manage.py migrate`\n\n\nto start the development server\n\n`python manage.py runserver`\n\nand open localhost:8000 on your browser to view the app.\n\nrun tests\n\n```\n   \u003e cd tests\n   \u003e pytest\n```\n\n\u003cimg src='https://user-images.githubusercontent.com/97242088/226597366-04d7370b-1ec0-4180-b2a7-3bb0716cc7aa.png'\u003e\n\nHave fun\n\u003cp style=\"font-size:100px\"\u003e\u0026#129409;\u003c/p\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartur24814%2Fcalendar_manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartur24814%2Fcalendar_manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartur24814%2Fcalendar_manager/lists"}