🗪 README.md en español: README_ES.md
Network is a web application developed as part of the CS50’s Web Programming with Python and JavaScript (Harvard) project. Its goal is to replicate the essential functionalities of a social network like Threads, allowing users to post content, follow others, and interact with posts in real-time.
- User registration, login, and logout
- Creation, editing, and deletion of posts
- Follower system (follow/unfollow users)
- Reactions: like and unlike posts
- Pagination in all post views
- User profile with follower and following metrics
- Personalized feed with posts from followed users
- Asynchronous interactions (AJAX) for likes, follows, and post editing
- Minimalist and professional design
- Blue-toned color palette with cyan accents
- Inspired by modern editors (VSCode, JetBrains)
- Monospaced typography for a technical aesthetic
- High contrast and optimized readability
- Backend: Python 3, Django 5
- Frontend: HTML5, CSS3, JavaScript (AJAX)
- Styles: Bootstrap 5 (utilities and grid system)
manage.py
: Django administration script for running commands like migrations, development server, etc.requirements.txt
: List of Python dependencies required for the projectinsertions.py
: Script to populate the database with test data (users, posts, likes, followers)db.sqlite3
: SQLite database with all application data
models.py
: Defines data models (User and Post) with their relationships and methodsviews.py
: Contains all application views (pages and AJAX endpoints)urls.py
: URL routing configuration for the applicationadmin.py
: Django admin panel configurationtests.py
: Unit tests for the application
styles.css
: Custom CSS styles with minimalist and professional designscript.js
: JavaScript for AJAX interactions (likes, follows, post editing)images/
: Application screenshots for documentation
layout.html
: Base template with common HTML structure and navigationindex.html
: Main page with all postsfollowing.html
: Feed of posts from followed usersviewprofile.html
: User profile with metrics and postslogin.html
: Login formregister.html
: User registration form
settings.py
: Main Django configuration (database, apps, middleware, etc.)urls.py
: Main project URL routing configurationwsgi.py
: Configuration for production deploymentasgi.py
: Configuration for asynchronous applications
Contains database migration files that define the evolution of the data schema.
-
Clone the repository:
git clone https://github.com/Wesleykyle2005/Network-web50 cd network
-
Install dependencies:
pip install -r requirements.txt
-
Apply migrations:
python manage.py makemigrations python manage.py migrate
-
(Optional) Populate the database for testing:
python insertions.py
This will create users, posts, likes, and random follow relationships for testing and demonstration.
-
Start the development server:
python manage.py runserver
-
Access the application from your browser at: http://127.0.0.1:8000/