- Description
- Requirements
- Features
- Techniques and Technologies Used
- Accessing the Project
- Opening and Running the Project
- Developers
This system aims to centralize the management of information related to the activities of the TrupEncanta NGO. This includes publishing news related to events and daily activities, presenting the team that makes up TrupEncanta, details about ongoing projects and workshops, established partnerships, a photo gallery telling the organization's timeline, etc. Additionally, the system seeks to enable user interaction, allowing comments, sending emails to the institution, and easy access to important documents of the NGO.
Administrator:
- The system must allow logging in.
- The system must allow registering Workshops, News, Teachers, Projects, and Documents.
- The system must allow editing Workshops, News, Teachers, Projects, and Documents.
- The system must allow deleting Workshops, News, Teachers, Projects, and Documents.
- The system must allow storing photos and videos.
Administrator and User:
- The system must allow commenting on publications.
- The user interface must be intuitive and easy to use to ensure a good user experience.
- The system must offer an intuitive administration panel so that administrators can easily manage the content and settings of the system.
- The system must be compatible with mobile devices.
- The system must be compatible with major web browsers.
- System data must be stored in compliance with data protection laws.
-
Registering News:
- The administrator accesses the system through login to register news.
- The system requests essential information, such as title, description, and relevant dates.
- After validation, the news is registered in the system.
-
Editing News:
- The administrator accesses the system through login and goes to the desired news.
- Makes necessary changes and saves the updates.
-
Deleting News:
- The administrator accesses the system through login and goes to the desired news.
- Selects the news to be removed and confirms deletion.
- The system updates the database to reflect the removal.
-
Registering Workshops:
- The administrator accesses the system through login and registers new workshops.
- Includes information such as title, description, and event dates.
- After validation, the workshop is registered in the system.
-
Editing Workshops:
- The administrator accesses the system through login and goes to the desired workshop.
- Makes necessary changes and saves the updates.
-
Deleting Workshops:
- The administrator accesses the system through login and goes to the desired workshop.
- Selects the workshop to be removed and confirms deletion.
- The system updates the database to reflect the removal.
-
Registering Teachers:
- The administrator accesses the system through login and registers new teachers.
- Includes information such as name, area of expertise, and contact information.
- After validation, the teacher is registered in the system.
-
Editing Teachers:
- The administrator accesses the system through login and goes to the profile of the desired teacher.
- Makes necessary changes and saves the updates.
-
Deleting Teachers:
- The administrator accesses the system through login and goes to the profile of the desired teacher.
- Selects the teacher to be removed and confirms deletion.
- The system updates the database to reflect the removal.
-
Registering Documents:
- The administrator accesses the system through login and registers new documents.
- Includes information such as title, description, and attached file.
- After validation, the document is registered in the system.
-
Editing Documents:
- The administrator accesses the system through login and goes to the desired document.
- Makes necessary changes and saves the updates.
-
Deleting Documents:
- The administrator accesses the system through login and goes to the desired document.
- Selects the document to be removed and confirms deletion.
- The system updates the database to reflect the removal.
-
Registering Projects:
- The administrator accesses the system through login to register new projects.
- The system requests essential information, such as title, description, and relevant dates.
- After validation, the project is registered in the system.
- Editing Projects:
- The administrator accesses the system through login and goes to the desired project.
- Makes necessary changes and saves the updates.
- Deleting Projects:
- The administrator accesses the system through login and goes to the desired project.
- Selects the project to be removed and confirms deletion.
- The system updates the database to reflect the removal.
- Comments:
- The administrator, student, teacher, visitor, and partnership can leave comments on news.
- Comments are directly associated with the news and can be viewed by all users.
- Programming Languages:
HTML5
,CSS
,JavaScript
,Python
- Development Environment:
Visual Studio Code
- Framework:
Django
- Database:
PostgreSQL
(managed with PgAdmin) - Version Control Tools:
Git
andGitHub
You can access the project files by clicking here or download it as a zip file.
- Choose or create a folder on your computer where you want to store the project.
- Create a repository on GitHub or use an existing one.
- Clone the repository to your local machine using the command
git clone <repository_URL>
in your terminal or Git Bash. - Make sure you have Visual Studio Code installed on your computer. If you don't have it, you can download it here.
- Open Visual Studio Code.
- In the main menu, select "File" -> "Open Folder" and navigate to the directory where you cloned the project.
- Select the project folder and click "Open".
- Now you have access to the project files in your development environment.
- Now, activate the Visual Studio Code terminal. In the top menu, click on
View
. - Select
Terminal
. - Next to the "+" arrow, choose the option "Command Prompt".
- With the terminal already open and configured, create a virtual environment using the command
python -m venv venv
. - Activate the virtual environment:
- On Windows:
venv\Scripts\Activate
. - On Linux/Mac:
source venv/bin/activate
.
- On Windows:
- Install project dependencies:
- Django:
pip install django
. - psycopg2 (to connect to PostgreSQL):
pip install psycopg2
. - django-bootstrap-v5:
pip install django-bootstrap-v5
. - Django REST Framework:
pip install djangorestframework
.
- Django:
- Check the Django version with the command
python -m django --version
. - Check the Python version with the command
python --version
. - Start a new Django project with the command
django-admin startproject project-name
. - Enter the project directory using the command
cd project-name
. - Run initial database migrations with the command
python manage.py makemigrations
and then execute the commandpython manage.py migrate
. - Create a superuser with the command
python manage.py createsuperuser
. - Create a Django application with the command
python manage.py startapp app-name
. - Configure the project's
urls.py
file to include theurls.py
of the application. - Create the
templates
directory within the application directory to store the application's HTML templates. - Create the
index.html
file within thetemplates
directory. This will be the application's home page. - Configure the application's
views.py
file to renderindex.html
. - Create a database named
trupencanta
in PostgreSQL. - Configure the
settings.py
file to connect to PostgreSQL, including the database credentials.
Make sure all necessary dependencies are installed and properly configured in your development environment.