Git Product home page Git Product logo

analyticspages's Introduction

Analytics Pages

Description

Analytics Pages is a Django-based web application designed to showcase data science projects. The application allows users to view, add, and manage projects, with features for user authentication and project details.

Features

  • User authentication (registration, login, logout)
  • Add, update, and view data science projects
  • Responsive design with Bootstrap
  • Integration with PostgreSQL using Docker
  • Continuous integration with GitHub Actions

Prerequisites

  • Python 3.9+
  • Docker
  • Docker Compose

Installation

  1. Clone the Repository:

    git clone https://github.com/surajwate/analyticspages.git
    cd analyticspages
  2. Create a .env File:

    Create a .env file in the root directory with the following contents:

    SECRET_KEY=your-secret-key
    DEBUG=True
    ALLOWED_HOSTS=localhost,127.0.0.1
    POSTGRES_DB=yourdbname
    POSTGRES_USER=yourusername
    POSTGRES_PASSWORD=yourpassword
    DATABASE_URL=postgres://yourusername:yourpassword@db:5432/yourdbname
    
  3. Create and Activate Virtual Environment (if not using Docker):

    python -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
  4. Install Dependencies:

    pip install -r requirements.txt

Running the Project with Docker

  1. Build and Run Containers:

    docker-compose up --build
  2. Apply Migrations:

    docker-compose exec web python manage.py migrate
  3. Create a Superuser:

    docker-compose exec web python manage.py createsuperuser
  4. Access the Application:

    Open your web browser and navigate to http://localhost:8000.

Running Tests

  1. Run Tests with Docker:

    docker-compose exec web pytest
  2. Run Tests Locally:

    pytest

Continuous Integration

We use GitHub Actions for continuous integration. The CI pipeline runs tests and checks for code quality on every push and pull request. The configuration is defined in the .github/workflows/ci.yml file.

Community and Support

  • GitHub Discussions: Join the conversation in our Discussions section.
  • Wiki: Check out our Wiki for detailed documentation and guides.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-branch)
  3. Make your changes
  4. Commit your changes (git commit -m 'Add new feature')
  5. Push to the branch (git push origin feature-branch)
  6. Open a pull request

Feel free to suggest improvements or contribute to the project!

analyticspages's People

Contributors

surajwate avatar

Watchers

 avatar

analyticspages's Issues

Set up static and media files handling

Tasks

  • Configure Django settings for static and media files
  • Set up directory structure for static files (CSS, JS, images)
  • Implement media file handling for project files
  • Write tests to ensure the correct saving of static files
  • Update templates to use static files correctly

Set up user authentication

Tasks

  1. Set Up User Authentication Views:

    • Implement views for user login, logout, and registration.
    • Use Django’s built-in views and forms for authentication.
  2. Create Templates for Authentication:

    • Create templates for login, logout, and registration pages.
  3. Update URL Routing:

    • Add URL patterns for authentication views.
  4. Write Tests for Authentication:

    • Write tests to ensure the authentication system works correctly.

Implemented advanced model and form for project

Summary of Tasks

  1. Create Advanced Models:

    • Added additional fields to the Project model.
    • Made the image field optional by adding null=True, blank=True.
  2. Implement Forms for Adding and Updating Projects:

    • Created ProjectForm using Django's ModelForm to handle project creation and updates.
  3. Create Views for Handling Forms:

    • Implemented project_create and project_update views to handle the forms for creating and updating projects.
  4. Update URL Routing:

    • Added URL patterns for the new views in portfolio/urls.py.
  5. Create Templates for Forms:

    • Created project_form.html template for adding and updating projects.
  6. Write Tests for Models and Forms:

    • Wrote tests to ensure the models and forms work correctly.
    • Updated tests to handle image uploads correctly.

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.