Nexo is a social networking platform for students at Universidad Icesi, designed to facilitate interaction through comments, likes, and the option to share posts. Additionally, it offers a section where users can review professors and courses.
- Posts with interactions (likes, comments, share).
- Review system for professors and courses.
- Responsive design for different devices.
- Authentication and database with Firebase.
- Modern interface.
NEXO/
├── src/ # Main source code
│ ├── assets/ # Images, fonts, and static files
│ ├── components/ # Reusable components (buttons, cards, etc.)
│ ├── enums/ # Enumerations and data types
│ ├── layouts/ # General layouts and page structures
│ ├── pages/ # Main application views
│ ├── services/ # API calls and business logic
│ ├── styles/ # CSS styles
│ ├── types/ # Type declaration for TS
│ ├── utils/ # Helper functions and utilities
│ ├── index.ts # Main entry point
├── public/ # Static files
│ ├── assets/ # Logos, images, and other resources
│ ├── styles/ # Global styles
│ ├── data/ # Static data, JSONs, or constants
│ ├── icon.ico # Site icon
│ ├── index.html # Base page where the app is loaded
├── dist/ # Compiled files (generated by Webpack/Vite)
├── .husky/ # Git hooks (commit/push protection)
├── .gitignore # Files and folders to ignore in Git
├── .prettierignore # Files ignored by Prettier
├── .prettierrc.json # Prettier configuration
├── commitlint.config.js # Commit conventions configuration
├── eslint.config.mjs # ESLint rules
├── LICENSE # Project license
├── package-lock.json # Dependency lock file
├── package.json # Project configuration and dependencies
├── README.md # Project documentation
├── tsconfig.json # TypeScript configuration
└── webpack.config.js # Webpack configuration
- HTML
- CSS
- JavaScript & TypeScript
- Bootstrap
- Animate.css / AOS / GSAP
- Firebase Authentication
- Firestore (Firebase Database)
- Firebase Storage
- Webpack
- ESLint
- Git/GitHub
- Husky
| Dependency | Description |
|---|---|
| TypeScript | Static typing for JavaScript |
| Webpack | Code optimization and bundling |
| Firebase | Database and authentication |
| Dependency | Description |
|---|---|
| ESLint | Code analysis and error fixing |
| Prettier | Auto-formatting for uniform code |
| Lint | Code review and formatting before committing |
| Husky | Runs scripts before commits |
To maintain a clean and structured commit history, we follow these conventions:
- Clear and concise messages (max. 50 characters).
- Write in present tense in English.
- No final period or ellipses.
- Use prefixes in commits.
Syntax:
git commit -m "<commit-type>[scope]: <description>"Example:
git commit -m "style(dashboard): adjust button spacing"