Contents:

Below I will be briefly talking about some of the projects I have worked on during my time. If you would like to read more there will be a link to a seperate page for each project soon.

Personal Projects

1. Personal Website

Overview

1.1 Project Aims:

The primary aim of this project is to develop a personal portfolio website that showcases my skills and projects in the field of technology. The website is intended to be a dynamic platform where I can share technical blogs, aiming to benefit my peers in the industry. Another key goal is to ensure the website evolves over time, mirroring my professional growth.

1.2 Project Features:

  • Skills Page:

    A section dedicated to highlighting my technical skills in various areas.

  • Projects Page:

    Features descriptions of projects I've worked on, with links to their respective GitHub repositories for in-depth view.

  • About Me Page:

    This section provides insights into my personal interests and professional journey.

  • Blog Page:

    A space for sharing my knowledge and insights on various tech-related topics, aimed at benefiting peers in the industry.

1.3 Demographic

The website is primarily targeted towards recruiters, fellow IT professionals, and anyone interested in collaboration or learning more about my professional expertise. It's designed to cater to individuals seeking in-depth knowledge of my skills, projects, and professional journey.

1.4 Technologies Used

1.4.1 Programming Language/s

  • HTML, CSS, and JavaScript:

    The core building blocks of the website, providing structure, style, and interactivity respectively.

1.4.2 Frameworks/Libraries

  • NuxtJS 3:

    Utilized to enhance the website's performance and user experience, bringing in features and optimizations that are essential for a modern web application.

1.4.3 Tools

  • Visual Studio Code:

    Utilized to enhance the website's performance and user experience, bringing in features and optimizations that are essential for a modern web application.

  • GitHub:

    Used for version control, enabling efficient management and sharing of the project's source code. Linked to cloudflare to enable automatic deployment upon new push requests

  • Azure:

    Employed for project organization and management, using its wikis and boards features for effective collaboration and tracking.

  • Cloudflare:

    Chosen for hosting the website and providing essential security measures like DDoS mitigation.

1.5 Link to repository:

For more details and insights into the rishan.dev project, feel free to explore the GitHub repository:

Respository Link

2. Discord Music Bot

Overview

2.1 Project Aims:

The primary goal of this project is to develop a customized Discord Music Bot for personal use. Its core purpose is to improve the music streaming experience within a Discord server. The aim is to provide users and their friends with a more personalized and enjoyable musical experience, elevating the usual interactions on the platform.

2.2 Project Features:

  • Search and Play:

    Users can play music in the server by typing a search query, similar to using a YouTube search bar, or by providing a YouTube URL.

  • Queue Management:

    Songs can be queued up automatically. Users have the flexibility to type in the next song they want to hear, seamlessly adding it to the queue.

  • Rearrange Queue:

    The bot allows for easy rearrangement of the queued songs, giving users complete control over the order of music playback.

  • Skip Songs:

    If a song isn't fitting the mood, users have the option to skip it and move on to the next track in the queue effortlessly.

2.3 Demographic:

The Discord Music Bot is primarily designed for individuals or groups who frequently use Discord for social interactions and seek a more enhanced and user-friendly music experience. It caters to users who enjoy sharing and listening to music together in a community setting, such as friends, gaming groups, or any Discord server members looking to add a musical element to their digital gatherings.

2.4 Technologies Used

2.4.1 Programming Language/s:

  • Python:

    Python was the natural choice for this project due to its simplicity, readability, and a vast array of libraries and frameworks specifically tailored for web applications and automation tasks. Its ease of use and straightforward syntax allowed for swift development and quick prototyping. Python's extensive community support, rich documentation, and active developer ecosystem meant that troubleshooting and finding solutions to challenges were readily accessible. Moreover, Python's asynchronous capabilities, crucial for handling concurrent tasks like managing multiple server requests and streaming music seamlessly, made it an ideal language for this Discord Music Bot project.

2.4.2 Frameworks/Libraries:

  • Discord.py:

    Discord.py is a Python wrapper for the Discord API, enabling the bot to interact with Discord servers and users effectively.

  • ytdl Library:

    The ytdl library is used for extracting audio from YouTube videos, enhancing the bot's ability to stream music directly from YouTube sources.

  • Asyncio:

    The asyncio library was instrumental in enabling concurrent operations for the Discord Music Bot. By implementing asynchronous programming techniques, it facilitated non-blocking execution, allowing the bot to handle multiple tasks simultaneously. This approach ensured the bot's responsiveness during various operations, enhancing efficiency and user experience. Through asyncio, the bot managed concurrent user commands, music playback, and real-time events, delivering a seamless and dynamic interaction environment for both you and your friends.

2.4.3 Tools

  • Visual Studio Code:

    The primary integrated development environment (IDE) used for developing the project, providing a range of development tools and a user-friendly interface.

  • AWS EC2:

    The bot is hosted on Amazon Web Services (AWS) EC2, which ensures its 24/7 availability. This cloud-based hosting solution guarantees the bot's continuous operation and consistent performance.

2.5 Link to repository:

For more details and insights into the Discord Music Bot project, feel free to explore the GitHub repository:

Respository Link

3. Telegram E-Commerce Shop Bot

Overview

3.1 Aim of Project

3.2 Key features

3.3 Demographic

3.4 Technologies Used

3.4.1 Languages

3.4.2 Frameworks/Libraries

3.4.3 Tools

3.5 Link to repo

read more here

Academic Projects

4. Movie Database

Overview

4.1 Aim of Project

4.2 Key features

4.3 Demographic

4.4 Technologies Used

4.4.1 Languages

4.4.2 Frameworks/Libraries

4.4.3 Tools

4.5 Link to repo

read more here

5. 2D Platformer - Graphics 1 Project

Overview

5.1 Project Aims:

The primary aim of the 2D Platformer Graphics 1 Project was to build a fully functional 2D platformer level. Key objectives included mastering the use of OpenGL for graphical representations and implementing core gameplay mechanics typically found in platformer games. The project was also an opportunity to explore and apply fundamental concepts of graphics programming within a practical scenario.

5.2 Project Features:

  • Level Design:

    A carefully crafted level that showcases various elements typical of platformer games, including obstacles, platforms, and interactive elements.

  • Graphics Rendering:

    Utilization of OpenGL for rendering 2D graphics, demonstrating the capability to handle graphical elements within the gaming environment.

  • Game Mechanics:

    Implementation of basic mechanics such as jumping, moving, and collision detection, essential for the platformer genre.

5.3 Demographic

This project was primarily aimed at fulfilling academic requirements and demonstrating skills in graphics programming. It is of interest to educators, fellow students, and anyone with a passion for game development and graphics programming.

5.4 Technologies Used

5.4.1 Programming Language/s

  • C++:

    The primary programming language used for developing the game logic and interfacing with OpenGL for graphics rendering.

5.4.2 Frameworks/Libraries

  • OpenGL:

    A cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics, used to create all the graphical elements in the game.

  • PicoPNG:

    Integrated into the project to decode PNG files, PicoPNG is used for handling and processing image files, making it possible to incorporate detailed graphics and textures in the game.

5.4.3 Tools

  • Visual Studio 2017:

    The integrated development environment (IDE) used for writing, compiling, and debugging the code. It provided a robust platform for C++ development and OpenGL integration.

  • GitHub:

    Used for version control, enabling efficient management and sharing of the project's source code. Linked to cloudflare to enable automatic deployment upon new push requests

5.5 Link to repository:

For more details and insights into the 2D Platformer project, feel free to explore the GitHub repository:

Respository Link

Work-In-Progress Projects

6. Landlord Management System

Overview

6.1 Project Aims:

The primary aim of this project is to create an application to help manage the business for landlords, whether it's a single person or a company.

6.2 Project Features:

  • All in one place to view organised documents

    All documents related to the business can be scanned or added to the software to keep track

  • OCR Document Scanner:

    To help automatically scan and organise documents relating to the business while importing the data into the software to also be saved.

  • Visualise expenses:

    Options of graphs will be available to visualise the expenses of the business, such as an overview of gas costs over the year for the individual property

6.3 Demographic

This project was primarily aimed at small-scale landlords who need to incorporate technology into their business to keep up with the times.

3.3 Technologies Used

6.4.1 Programming Language/s

  • C++:

    The primary programming language used for developing the logic and models of the software.

6.4.2 Frameworks/Libraries

  • Qt:

    A cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics, used to create all the graphical elements in the game.

6.4.3 Tools

  • Visual Studio 2022:

    The integrated development environment (IDE) used for writing, compiling, and debugging the code. It provided a robust platform for C++ development and OpenGL integration.

  • GitHub:

    Used for version control, enabling efficient management and sharing of the project's source code. Linked to cloudflare to enable automatic deployment upon new push requests

6.5 Repository Link

For more details and insights into the Landlord Managment System, feel free to explore the GitHub repository:

Respository Link