This project is a platform that brings together TCP students to write tech and academic blogs. It serves as a hub for TCP alumni's creativity, allowing students to create, publish, update, and delete their blogs.
- Fullstack Project: Develop both frontend and backend.
- User Authentication: TCP students can join by signing up/signing in.
- Blog Creation: Authenticated students can create, delete, and edit their own blogs.
- Blog Structure:
- Title (required)
- Outlines (optional)
- Introduction (required)
- Content (required)
- Date and Time (automatically updated on edits)
- Image (optional)
- Tag and Category Management:
- Authenticated students can create tags and categories but cannot delete or edit them.
- Interactivity:
- Comments on blogs.
- Reactions (e.g., applause, thumbs up).
- Save blog for later reading.
- Follow Colleagues:
- Get email notifications on new blogs from followed colleagues.
- User Interface:
- List view of blogs.
- Signup/signin functionality.
- Detailed blog view with:
- Date, time, and duration of reading.
- Image, introduction, content.
- Comments and applause count.
- Save button for later reading.
- Dark/light mode toggle.
- User profile for editing username, profile image, bio, etc.
- Search Functionality:
- Search for blogs by queries.
- Category and Tag Filtering:
- Clicking on categories/tags displays relevant blogs.
-
Project Structure:
- Follow a clear and organized folder structure for both frontend and backend.
- Separate concerns into distinct modules or components (e.g., models, controllers, views).
-
Conventional Naming:
- Use meaningful names for variables, functions, files, and folders following standard conventions (e.g., camelCase for JavaScript functions, PascalCase for class names, snake_case for database tables).
- Maintain consistency in naming across the project to enhance readability and maintainability.
-
Clean Code:
- Write clear and concise code that is easy to understand and maintain.
- Follow coding best practices and principles (e.g., DRY - Don't Repeat Yourself, SOLID principles).
- Use proper indentation, comments, and documentation where necessary.
- Ensure proper error handling and use of meaningful error messages.
- Regularly refactor code to keep it clean and optimized.