Coder Social home page Coder Social logo

usermarekdrag / menstrual-calendar Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 4.73 MB

The project contains four applications: blog, forum, user profile, and menstrual calendar.

Home Page: https://mens-cal.herokuapp.com

Python 34.62% CSS 23.58% HTML 41.79% Procfile 0.01%
django heroku mysql python

menstrual-calendar's Introduction

Project Description

The project was created to develop programming skills. Calendar is a project using Django, MySQL, HTML, CSS, and Python technologies. The project contains four applications: blog, forum, user profile, and menstrual calendar.

Video

Short film about the possibilities of the service on the YouTube platform (link).

Watch the video

Deployment on Heroku

The project has been successfully deployed on Heroku using MySQL database. The deployed version is currently in testing and the interface can be accessed at https://mens-cal.herokuapp.com. Heroku CLI was used for management and administration. Users can test the deployed version using the following credentials:

LOGIN: DEMO

PASSWORD: pcC3J7fBX3JU5JM

Blog

On the blog, only administrators can add posts, and logged-in and non-logged-in users can add comments. RichTextField is used for the body of posts and comments.

Forum

In the forum application, only logged-in users can add new posts and comment on existing ones. RichTextField is used for the body of posts and comments.

Users

The user account application allows for registration, password change, and password reset with the submission of a token and email in the terminal (only in the production stage). On the user's main profile, there are links to the latest commented posts and quick access to menstrual calendar options.

Cycle Calendar

The main part of the project is the menstrual calendar. Logged-in users can add their personalized calendar or add a user's calendar from whom they received a special code. After creating a personalized calendar, twelve personalized cycles are automatically generated that the user can view. After creating the calendar, the user can change personalized data that affects predicted cycles and reset the current cycle, which also generates personalized cycles. The last option is the ability to share your calendar with another person. By going to the Share tab, we go to the page with generating a unique code assigned to our profile. By sending this code, we only share viewing our menstrual calendar with another person. In the Share List tab, we can see who is observing our calendar and remove people, revoking their access to our calendar.

Technologies

The project uses the following technologies:

  • Python - programming language
  • Django - web framework in Python
  • MySQL - database management system
  • HTML - markup language for creating web pages
  • CSS - style sheet for describing the look of web pages

Database Schema

Database Schema

To generate a new database schema visualization, you can use the django-extensions's graph_models command:

python manage.py graph_models -a -o db_schema.png

Planned Changes

Planned changes for the project in the future include:

  1. Optimizing the display of the menstrual calendar.
  2. Adding website responsiveness.
  3. Adding post and comment editing on the forum by users.

Cloning the repository

Clone the repository using the command below :

git clone https://github.com/UserMarekDrag/calendar.git

Move into the directory where we have the project files :

cd calendar

Create a virtual environment :

# Create our virtual environment
python -m venv venv

Activate the virtual environment :

windows

venv\scripts\activate

linux

source venv/bin/activate

Install the requirements :

pip install -r requirements.txt

Migrate Database

python manage.py migrate

Create Super User

python manage.py createsuperuser

Running the App

To run the App, we use :

python manage.py runserver

⚠ Then, the development server will be started at http://127.0.0.1:8000/

Author

Marek Drąg

Documentation

You can check up django documentation page for any further information. Django Docs

menstrual-calendar's People

Contributors

usermarekdrag avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.