This project aims to convert a static website into the Astro framework, leveraging Astro's modern static site generation capabilities for improved performance, maintainability, and responsiveness.
The provided static website has been converted into the Astro framework, utilizing HTML, CSS (Bootstrap/Tailwind), and Vanilla JavaScript. The conversion process involved refactoring the codebase into reusable Astro components, implementing responsive design principles, and optimizing performance using Astro's features.
Inside of project, you'll see the following folders and files:
/
├── public/
├── src/
│ ├── components/
│ ├── content/
│ ├── layouts/
│ ├── lib/
│ └── pages/
└── .gitignore
└── astro.config.mjs
└── package.json
└── README.md
The project directory includes the following folders for managing content:
-
FAQ: Located in
src/content/faq
.- Add new FAQs by creating Markdown files with
Number
,question
, andanswer
.
- Add new FAQs by creating Markdown files with
-
Footer: Contains
about
andresources
subfolders.- About: Located in
src/content/footer/about
.- Add new about links using Markdown files with
Number
,name
, andlink
.
- Add new about links using Markdown files with
- Resources: Located in
src/content/footer/resources
.- Add new resource links using Markdown files with
Number
,name
, andlink
.
- Add new resource links using Markdown files with
- About: Located in
-
Homepage: Contains
coreTeam
,partner
,purpose
, andsignificance
subfolders.- Core Team: Located in
src/content/homepage/coreTeam
.- Add new team members using Markdown files with
Number
,name
,position
, andinstitute
.
- Add new team members using Markdown files with
- Partner: Located in
src/content/homepage/partner
.- Add new partners using Markdown files with
Number
anddescription
. -Remember that position is anarray
as the person can have multiple positions in the company, so you have to enclose the whole position content in square brackets[]
, text in double quotes""
, and separate each text with a comma,
.
- Add new partners using Markdown files with
- Purpose: Located in
src/content/homepage/purpose
.- Add new purposes using Markdown files with
Number
anddescription
.
- Add new purposes using Markdown files with
- Significance: Located in
src/content/homepage/significance
.- Add new significance content using Markdown files with
Number
,intro
,point
(array), andend
. - Remember that point is an
array
so you have to enclose the whole point content in square brackets[]
, text in double quotes""
, and separate each text with a comma,
.
- Add new significance content using Markdown files with
- Core Team: Located in
-
Navbar Routes: Located in
src/content/navbarRoutes
.- Add new routes using Markdown files with
Number
,path
, andname
. - For same page links, use
#
followed by the section id and for external links, use the full URL.
- Add new routes using Markdown files with
-
Partners Carousel Logos: Located in
src/content/partnersCarouselLogos
.- Add new partner logos to the carousel using Markdown files with
Number
,img
,alt
, andlink
. - link is optional, keep it blank
""
if not available.
- Add new partner logos to the carousel using Markdown files with
-
Resources Page: Located in
src/content/resourcesPage
.- Add new resources using Markdown files with
Number
,heading
, andpoints
(list). - Add hyphen and for
text
andlink
, keep thetitle
encloded in square brackets[]
and then thelink
in round brackets()
.
- Add new resources using Markdown files with
-
Schedule Events: Located in
src/content/scheduleEvents
.- Add new schedule events using Markdown files with
Number
,heading
, andevents
(list). - Add hyphen and then the event name.
- Add new schedule events using Markdown files with
-
Top Bar Logo: Located in
src/content/topBarLogo
.- Add new top bar logos using Markdown files with
Number
,link
,img
,alt
,classname
, andid
. - Just keep the
classname
asimg-fluid logos
andid
blank""
.
- Add new top bar logos using Markdown files with
To run the project locally, follow these steps:
- Clone the repository using the following command:
git clone https://github.com/mannubhai1/Fossee.git
cd FOSSEE
npm install
npm run start
Open your browser and navigate to http://localhost:4321 to view the converted website.
The converted website has been deployed using Netlify and is accessible via the following URL:
- Tailwind CSS: Employed for comprehensive styling and design consistency.
- Astro: Utilized for efficient static site generation and improved performance.
- Lucia: Integrated for streamlined authentication and user management functionalities.
- Better SQLite 3: Implemented for robust and scalable database operations.
This project is licensed under the MIT License.
Adapting the navbar, accordion, and carousel components for mobile responsiveness proved challenging, as reliance on pre-made templates from Bootstrap and Tailwind was not viable within the Astro framework. Designing these components from scratch required extensive time and effort, especially as I lacked prior experience in creating responsive designs independently.