AngularDjangoPortfolioBlog

Artist-Studio-Portfolio-Website — Angular Portfolio Template

By BobErgot

A Django-based portfolio website template for musicians, used to showcase songs and albums, manage performances and events, publish blog posts, and rent out music studios. Originally developed for nlytnmusic.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

1 previews
Author preview
Author-provided previewTop of page

Preview provided in the project README.

One original preview is available. Open the full image to inspect the design.

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-02View source

What stands out

A quick read of the recorded project description.

01

Song and album display with detailed descriptions

02

Performance event announcements and booking management

03

Blog post publishing

04

Music studio rental process

05

Spotify preview player, generated by entering a trackId

06

Dynamic sitemap and Meta metadata management

Template Details

This is an open-source website template with a Django backend, originally developed for the musician nlytnmusic (Siddhesh Parekh). The site was live between 2020 and 2023, and its original form can be viewed via archived links. The template is aimed at musicians, bands, or music studios, integrating portfolio display, event announcements and bookings, blog updates, and studio rentals into a single backend management system.

Functionally, it supports displaying songs and albums with detailed descriptions, publishing and managing upcoming performances and bookings, writing blog posts, and providing a rental process for music studios. The site also includes a Spotify preview player (enter a trackId in the backend to generate a small player), Google reCAPTCHA form anti-spam submission, tipping and booking payments via Razorpay, and dynamically showing or hiding page sections based on backend-entered data. For SEO, it provides a dynamic sitemap and Meta metadata management.

Technically, the backend uses Django, manages environment variables via django-environ, defaults to SQLite, and can switch to PostgreSQL; media files can be integrated with AWS S3 (depending on django-storages). The project includes API endpoints provided by Django REST Framework and ASGI configuration. The repository also contains documentation such as API_Endpoints.md, DB_Design.md, and Setup_Instructions.md explaining interfaces and database design.

Limitations to note: the project uses the discontinued CKEditor 4, some dependencies have shifted to GPL licenses or are no longer maintained, and the README indicates that migrating to more modern frontend frameworks and libraries may require significant work. The code is MIT licensed, but content such as text, images, and sounds (including materials marked NLYTN) is not covered by the MIT license and requires separate authorization from NLYTN Music.

AngularDjangoPortfolioBlog

Is it right for your project?

Use Cases

  • Musicians building a personal portfolio and performance information site
  • Bands or music studios showcasing and renting out recording spaces
  • Artist official websites that need to combine blogs and event announcements
  • Teams wanting to manage content and bookings uniformly via the Django backend

Suitable For

  • Musicians or developers familiar with Django who want to deploy it themselves
  • Music professionals needing an integrated portfolio display, event booking, and studio rental
  • Teams accepting migration and maintenance work on the existing codebase

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Requires Python 3.x, Django 5.x, and a Virtualenv environment

  2. 2

    Refer to Setup_Instructions.md in the repository for local configuration

  3. 3

    Environment variables are managed via django-environ; create .env by referring to example.env

  4. 4

    Defaults to SQLite, can switch to PostgreSQL; media files can be integrated with AWS S3

  5. 5

    Before use, verify the licenses of third-party dependencies and assets; CKEditor 4 is discontinued

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not mean external services or third-party assets are free.

Must comply with when using

  • Permits free use, modification, commercial use, and distribution of this version's code.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and liability limitations are governed by the original license and applicable law.

Additional costs & items to verify

  • The MIT license covers only the code; content such as text, images, and sounds in the repository (especially materials marked NLYTN) is not within the MIT scope and requires separate authorization from NLYTN Music before use.
  • The project depends on the discontinued CKEditor 4, and some third-party dependencies have shifted to GPL licenses or are no longer maintained; before use, verify each dependency's license terms and assess migration costs.
  • The Spotify preview player feature depends on Spotify's external service; you must provide a valid trackId yourself and comply with Spotify's terms of use.
  • The form anti-spam feature depends on Google reCAPTCHA's external service; you must register and configure the corresponding site key.
  • Tipping and booking payments are processed via Razorpay; you must register a Razorpay account and configure API keys yourself, which may incur third-party service fees.
  • If you need to use an external database or media storage, you must set up cloud services such as AWS S3 and PostgreSQL yourself and provide access keys, which will incur corresponding costs.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domain, hosting, database, payment, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

Any text, images, and sound content, including but not limited to those tagged with NLYTN, are not covered under the MIT License and are instead licensed under the terms specified by NLYTN Music.

Original README

This project uses CKEditor 4, which has reached its end of life as of June 2023. Additionally, some dependencies have moved towards GPL licensing, and some are no longer maintained.

Original README

Input trackId from Spotify to generate a small Spotify preview player on the website.

Original README

Integrated reCAPTCHA for spam prevention in forms.

Original README

Allows for coffee donations and booking payments through Razorpay.

Original README

To use an external database like AWS S3 bucket and PostgreSQL hosted on AWS, follow these steps:

Original README
https://github.com/BobErgot/Artist-Studio-Portfolio-Website/blob/main/LICENSE.mdhttps://github.com/BobErgot/Artist-Studio-Portfolio-Website/blob/main/Readme.md

Compiled by DeepSeek based on repository license and README ·2026-10-03. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
Partly documented · 61 / 100
Technologies
Angular · Django
Website type
Portfolio · Blog
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2024-06-28
Screenshot last checked
2026-10-03

No demo link is recorded. Use the repository instructions to evaluate the project locally; the screenshot alone cannot establish interactive behavior.

The catalog identifies Angular as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Review declaration: [email protected] · 2026-10-04

Inspect the recorded source material

SHA-256: 75a3197ef4c5e44a2aafc9ef0b44f91e151f032ceb26bcdbb5c266a566ec6afa

2026-10-03T16:19:13.122Z

Source file / repository
# Artist Studio Portfolio Website

An open-source Django-based website template, originally developed for nlytnmusic (Siddhesh Parekh). This project
provides musicians with a platform to showcase their work, manage events, share blog posts, and rent out their music
studios. The website was live from 2020 to 2023 and can be viewed via the [archived link](https://web.archive.org/web/20220210082301/https://nlytnmusic.com/).

## Features

- **Song Showcase**: Display songs and albums with detailed descriptions.
- **Event Management**: Announce and manage bookings for upcoming events.
- **Blog Posts**: Share updates and thoughts with fans.
- **Studio Rentals**: Integrated system for renting out music studios.
- **SEO Friendly**: Dynamic sitemaps to improve search engine indexing.
- **Spotify Integration**: Input trackId from Spotify to generate a small Spotify preview player on the website.
- **Google reCAPTCHA**: Integrated reCAPTCHA for spam prevention in forms.
- **Payment Integration**: Allows for coffee donations and booking payments through Razorpay.
- **Dynamic Sections**: Sections on the site are dynamically hidden or shown based on the data inputted in the admin
  dashboard.

## Getting Started

These instructions will help you set up the project on your local machine for development and testing purposes.

Refer to [Setup_Instructions.md](Setup_Instructions.md) for detailed setup instructions.

### Prerequisites

- Python 3.x
- Django 5.x
- Virtualenv

### Configuration

1. **ASGI Configuration**:
   The ASGI configuration is located in `artist/asgi.py`. It exposes the ASGI callable as a module-level variable
   named `application`.

2. **Settings Configuration**:
   The settings are located in `artist/settings.py`. The key configurations include:
    - Environment Variables: Managed with `django-environ` to keep sensitive information secure.
    - Installed Apps: Lists all Django applications and third-party apps used in the project.
    - Middleware: Includes security, session, authentication, and other middleware.
    - Database: Configured with SQLite by default, can be switched to PostgreSQL or other databases.
    - Static and Media Files: Configured paths for handling static and media files.

   Refer to `example.env` for environment variables setup in `.env`.

3. **Sitemaps Configuration**:
   Sitemaps are defined in `artist/sitemaps.py` to improve the site's SEO by helping search engines index the site more
   effectively.

### Connecting to External Services

To use an external database like AWS S3 bucket and PostgreSQL hosted on AWS, follow these steps:

1. **AWS S3 Bucket for Media Files**:
    - Install the `django-storages` package:
        ```bash
            pip install django-storages[boto3]
        ```
    - Update your `settings.py`:
        ```python
      DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
      AWS_ACCESS_KEY_ID = env('AWS_ACCESS_KEY_ID')
      AWS_SECRET_ACCESS_KEY = env('AWS_SECRET_ACCESS_KEY')
      AWS_STORAGE_BUCKET_NAME = env('AWS_STORAGE_BUCKET_NAME')
      AWS_S3_REGION_NAME = env('AWS_S3_REGION_NAME', default='us-east-1')
        ```

2. **PostgreSQL Database**:
    - Install the `psycopg2` package:
        ```bash
      pip install psycopg2
        ```
    - Update your `settings.py`:
        ```python
      DATABASES = {
            'default': {
                'ENGINE': 'django.db.backends.postgresql',
                'NAME': env('DATABASE_NAME'),
                'USER': env('DATABASE_USER'),
                'PASSWORD': env('DATABASE_PASSWORD'),
                'HOST': env('DATABASE_HOST', 'localhost'),
                'PORT': env('DATABASE_PORT', '5432'),
            }
        }
        ```

### Integrated Functionalities

- **Django REST Framework**:
    - Provides powerful and flexible tools for building Web APIs.
    - Used for creating API endpoints to interact with the frontend and other services.

- **Django Contrib Sitemaps**:
    - Generates sitemaps dynamically as users add new pages and blogs.
    - Improves SEO by making the site more accessible to search engine crawlers.

- **Meta**:
    - Manages metadata for SEO and social media sharing.
    - Allows easy integration of Open Graph, Twitter Cards, and other metadata.

### API Endpoints

Refer to [API_Endpoints.md](API_Endpoints.md) for detailed information on the available API endpoints.

### Database Design

Refer to [DB_Design.md](DB_Design.md) for detailed information on the database design, including table structures and
relationships.

## Deployment

Details on how to deploy this project to a live system can be found in
the [Django deployment documentation](https://docs.djangoproject.com/en/5.0/howto/deployment/).

## Screenshots and GIFs

### Home Page Landing Animation
![Home Page](screens/home_page.gif)

### Studio Page
![Studio Page](screens/studio_page.gif)

### Features
![Blogs Features](screens/blogs_features.png)
![Contact Social Feature](screens/contact_social_feature.png)
![Spotify Preview Player Feature](screens/spotify_preview_player_feature.png)
![Studio Booking Feature](screens/studio_booking_feature.png)
![Studio Description Section](screens/studio_description_section.png)
![Studio Specs Section](screens/studio_specs_section.png)
![Testimonials Feature](screens/testimonials_feature.png)
![Upcoming Gigs Feature](screens/upcoming_gigs_feature.png)

## Contributing

Contributions are welcome! Here are some guidelines:

1. Fork the repository.
2. Create a new branch for your feature or bugfix.
3. Commit your changes with a descriptive message.
4. Push your branch to your forked repository.
5. Create a pull request with a description of your changes.

## License

### Code License
The code in this repository is open-source and licensed under the MIT License. Please refer to the `LICENSE.md` file for the full license text.

### Content License
Any text, images, and sound content, including but not limited to those tagged with NLYTN, are not covered under the MIT License and are instead licensed under the terms specified by NLYTN Music. For any use of such content, please contact NLYTN Music at [NLYTN Music](https://www.maayasound.com/nlytn).

## Special Thanks
A special thanks to [NLYTN Music](https://www.maayasound.com/nlytn) for helping the music community. Please go and support him and show your love.

## End of Life Notice
This project uses CKEditor 4, which has reached its end of life as of June 2023. Additionally, some dependencies have moved towards GPL licensing, and some are no longer maintained. Please review the licensing terms of third-party integrations to ensure compliance.

I have ensured that most libraries and versions are up-to-date as of 2024, but substantial efforts may be needed to migrate some libraries and frontend components to more modern frameworks and libraries.

For new features or support with migration, please open issues with your requests or bugs with the recent code.
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.

hexo-theme-inside

hexo-theme-inside

hexo-theme-inside is an Angular-based SPA theme for Hexo with a flat, clean design. It offers custom theming, built-in search, Disqus comments, and a plugin mechanism, plus content add-ons like collapsible sections, timelines, and content encryption.

Angular · Blog

Wanderlust-Chronicles-Website

Wanderlust-Chronicles-Website

Wanderlust Chronicles is a travel blog template maintained by JohnDev19 under the MIT license. It uses AngularJS for dynamic content and data binding, with vanilla JavaScript, GSAP, and AOS for smooth scrolling, scroll-triggered animations, and parallax effects.

Angular · Blog

modern-web-cv-angular

modern-web-cv-angular

A modern CV/portfolio template built with Angular 17, featuring a standalone components architecture, tsparticles particle background, AOS scroll animations, experience timeline, and photo gallery.

Angular · Timeline

django-on-aws

django-on-aws

A Django blog/portfolio sample that demonstrates deploying to AWS with nested CloudFormation templates, CodeDeploy rolling releases, CircleCI pipelines, and CloudWatch dashboards. It includes a dev path with Terraform and Ansible, Postgres and Redis configuration, and locust load testing.

Django · Portfolio

blog-bootstrap

blog-bootstrap

A Bootstrap 5 template repository maintained by OpenRoost as a companion to a Django blog project.

Django · Blog

django-blog-culinario

django-blog-culinario

A Django multi-page culinary blog teaching project split into nucleo, receitas, and usuarios apps, demonstrating domain modeling, function-based and class-based views, template inheritance, native authentication with IP-based login attempt limits, a customized admin, image upload validation, and form security measures such as…

Django · Admin dashboard