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.
- 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
- Python 3.9+
- Docker
- Docker Compose
-
Clone the Repository:
git clone https://github.com/surajwate/analyticspages.git cd analyticspages
-
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
-
Create and Activate Virtual Environment (if not using Docker):
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install Dependencies:
pip install -r requirements.txt
-
Build and Run Containers:
docker-compose up --build
-
Apply Migrations:
docker-compose exec web python manage.py migrate
-
Create a Superuser:
docker-compose exec web python manage.py createsuperuser
-
Access the Application:
Open your web browser and navigate to
http://localhost:8000
.
-
Run Tests with Docker:
docker-compose exec web pytest
-
Run Tests Locally:
pytest
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.
- GitHub Discussions: Join the conversation in our Discussions section.
- Wiki: Check out our Wiki for detailed documentation and guides.
This project is licensed under the MIT License. See the LICENSE file for details.
- Fork the repository
- Create a new branch (
git checkout -b feature-branch
) - Make your changes
- Commit your changes (
git commit -m 'Add new feature'
) - Push to the branch (
git push origin feature-branch
) - Open a pull request
Feel free to suggest improvements or contribute to the project!