Skip to content

White Paper is a Django-based notepad web app for creating, editing, and managing notes with a focus on simplicity and user-friendly design.

License

Notifications You must be signed in to change notification settings

ygowthamr/WhitePaper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

79 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

White Paper

Description

White Paper is a web application developed using the Python Django framework. This project serves as a digital notepad, allowing users to create, edit, and manage notes efficiently. It emphasizes simplicity, scalability, and an intuitive user experience for seamless note-taking.


Tech Stack

  • Backend: Python, Django Framework
  • Frontend: HTML, CSS, JavaScript
  • Database: SQLite (default), with options for PostgreSQL/MySQL
  • Others: Django Rest Framework (if applicable), Bootstrap (if applicable)

Overview

Signup page

image

Login Page

image

Home Page

image

Create a new note

image

Forget Password

image

Installation

Prerequisites

  1. Python 3.8+ installed on your system.
  2. Virtual Environment tools such as venv or virtualenv.
  3. SQLite (default) or a preferred database like PostgreSQL/MySQL (optional).

Steps to Install and Run Locally

  1. Clone the repository:

    git clone https://github.com/ygowthamr/WhitePaper.git
    cd WhitePaper
  2. Set up a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. Configure the database:

    • For the default SQLite database:
      No additional configuration is required.
    • For PostgreSQL/MySQL, update the DATABASES settings in settings.py.
  5. Apply migrations:

    python manage.py migrate
  6. Run the development server:

    python manage.py runserver
  7. Access the application:
    Open your browser and navigate to http://127.0.0.1:8000.


Setting Up GitHub OAuth Login

Step 1: Create a Superuser

Run this command in the terminal:

python manage.py createsuperuser

Enter username, email, and password when prompted.

Step 2: Apply Migrations and Start the Server

python manage.py migrate  
python manage.py runserver

Step 3: Access Django Admin

  1. Open 127.0.0.1:8000/admin/.
  2. Log in with the superuser credentials you just created.

Step 4: Configure Sites

  1. Click Sites β†’ Add Site.
  2. Enter:
    • Domain Name: 127.0.0.1:8000
    • Display Name: WhitePaper
  3. Click Save.
  4. Now, you should see two sites: example.com and the one you just created.
  5. Click on your newly created site and check the address bar, which should look like:
    http://127.0.0.1:8000/admin/sites/site/5/change/
    
    The last number (5 in this case) is your Site ID.
  6. Update settings.py with:
    SITE_ID = 5  # Replace with your actual site ID

Step 5: Add GitHub Social Application

  1. Go to Social Applications β†’ Add Social Application.
  2. Fill in:
    • Provider: GitHub
    • Name: GitHub OAuth
    • Client ID: Ov23li0JG2RoWmaOE1CV
    • Secret Key: 3281a84cae4d4098d78e894bebf1c46fe98fb9fb
  3. Under Available Sites, double-click http://127.0.0.1:8000/ to move it under Chosen Sites.
  4. Click Save.

Step 6: Final Setup

  1. Ensure SITE_ID is correctly set in settings.py.
  2. Run:
    python manage.py migrate  
    python manage.py runserver
  3. Now, GitHub login/signup should work! πŸŽ‰

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature-name
  3. Commit your changes and push:
    git add .
    git commit -m "Description of changes"
    git push origin feature-name
  4. Submit a pull request.

License

This project is licensed under the MIT License.

Collaborators

We are grateful to the following contributors who have worked on this project


Feel free to reach out for any queries or suggestions at [ygowthamr@gmail.com]. 😊

About

White Paper is a Django-based notepad web app for creating, editing, and managing notes with a focus on simplicity and user-friendly design.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published